文档详情

SSL加速之证书透传iRule.doc

发布:2017-12-18约2.56千字共4页下载文档
文本预览下载声明
SSL加速之证书透传iRule (v1.0) 作者 刘念 审核 分类 网络 别类 F5 更新时间 2009年6月5日 关键字 三个以上的关键字 摘要 SSL加速 证书透传 irule 主要适用环境 SSL加速应用 版本说明 版本 日期 内容 编写人 V1.0 2007-4-11 报告初稿 刘念  关于SSL加速其它的废话就不多说了。这里主要介绍一个实际案例中的iRule。 目的:将client证书以一个完整的无换行的base64格式字符串透传证书所有有效内容。 下面,我们先看一下正常用文本打开的PEM的客户证书: -----BEGIN CERTIFICATE----- MIIC1DCCAj2gAwIBAgIDBNxMMA0GCSqGSIb3DQEBBAUAMIGNMQswCQYDVQQGEwJD TjEPMA0GA1UEChMGTU9GVEVDMQwwCgYDVQQLEwNFREkxCzAJBgNVBAgTAkJKMRsw GQYDVQQDExJHRkEgQ0EgQ0VSVElGSUNBVEUxEjAQBgNVBAcTCURvbmdDaGVuZzEh MB8GCSqGSIb3DQEJARYSY2FAY2FjZW50ZXIuY29tLmNuMB4XDTA2MDkyNTE3MDMx OFoXDTA3MDkyNjEyMTUxOFowgawxCzAJBgNVBAYTAkNOMQ8wDQYDVQQKEwZNT0ZU RUMxDDAKBgNVBAsTA0VESTEQMA4GA1UECBMHQmVpSmluZzExMC8GA1UEAxMoNTEw MDAwMDAwMDAxOC2xsb6pytC3v8m9x/i9+LP2v9rT0M/euavLvjEYMBYGA1UEDBMP VXNlcklkIElzIEVtcHR5MR8wHQYJKoZIhvcNAQkBFhB0aWFud2pAZWMuY29tLmNu MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDm4Rbd0zfycP0k4nPd3OF7B9rZ vTQMkb/0ryGO4euygQYlAiXI6H/wA5JJb+Dxyv3KpE95xyK0u2uiLmihjMCN+eS4 54Cl5vAi5Us38pOIfomOj2RBcy+X+LC61BQB+WB8LwisGmM4hOu3Twd+9o1Vlulr EdjDuEoosUeg7XGvpQIDAQABoyEwHzAMBgNVHRMBAf8EAjAAMA8GA1UdDwEB/wQF AwMAoAAwDQYJKoZIhvcNAQEEBQADgYEAZvVMeBosPBO1AhbbyoG0MiLo1ZRAn62Z K0rqITlQKcM+caFzZ9Rwhs+7SNI+rzZ/+T6xN1fdczeiwQHwESom+MLg+ChH5IrU YmwExbkCrur4Qkj6mS+SUs82pC+8zi3OnLGoyFRoRnJWPzC4BhleZ0QroR9A469i yoPfhzrd9Ok= -----END CERTIFICATE----- 可以看到,证书实际内容为BEGIN和END中间的部分。并且,在每64个字符(最后一行可能不足64位)后会有一个回车换行符,其16进制数为\x0d\0x0a。可以用UltraEdit打开查看。 现在将这些回车换行去掉后透传给后台服务器。 实验测试时发现的问题如下: 使用X509::whole读出的证书串会把回车换行符从\x0d\x0a换成一个字符\0x20。 直接将X509::whole插入到http header中回重新出现回车换行符\x0d\x0a,同时还会出现\x20 regsub命令无法替换\x20这种不可见字符。 因此,最终实现方法是根据证书格式的规律,取出每65位字符串中的前64位(最后一行不定),将这些小串最终拼接成需要的证书串。以达到去掉回车换行符的目的。 具体的iRule如下: when CLIENTSSL_CLIENTCERT { session add ssl [SSL::sessionid] [SSL::cert 0] 3600 } when HTTP_REQUEST { set id [SSL::sessionid] set cert [session lookup ssl $id] set subject [X509::subject $cert] set cert [X509::whole $cert] set sub_cert [substr $cert 28 -] set subcert_len [st
显示全部
相似文档