欢迎来到天天文库
浏览记录
ID:37898135
大小:64.00 KB
页数:4页
时间:2019-06-02
《SSL加速之证书透传iRule》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、北京华胜天成科技股份有限公司SSL加速之证书透传iRule(v1.0)作者刘念审核分类网络别类F5更新时间2021年7月20日关键字三个以上的关键字摘要SSL加速证书透传irule主要适用环境SSL加速应用第4页共4页最后编辑日期:2021-7-20北京华胜天成科技股份有限公司版本说明版本日期内容编写人V1.02007-4-11报告初稿刘念第4页共4页最后编辑日期:2021-7-20北京华胜天成科技股份有限公司关于SSL加速其它的废话就不多说了。这里主要介绍一个实际案例中的iRule。目的:将client证书以一个完整的无换行的base64格式字符串透传证书所有有效内容。下面,
2、我们先看一下正常用文本打开的PEM的客户证书:-----BEGINCERTIFICATE-----MIIC1DCCAj2gAwIBAgIDBNxMMA0GCSqGSIb3DQEBBAUAMIGNMQswCQYDVQQGEwJDTjEPMA0GA1UEChMGTU9GVEVDMQwwCgYDVQQLEwNFREkxCzAJBgNVBAgTAkJKMRswGQYDVQQDExJHRkEgQ0EgQ0VSVElGSUNBVEUxEjAQBgNVBAcTCURvbmdDaGVuZzEhMB8GCSqGSIb3DQEJARYSY2FAY2FjZW50ZXIuY29tLmNuMB4XDTA2
3、MDkyNTE3MDMxOFoXDTA3MDkyNjEyMTUxOFowgawxCzAJBgNVBAYTAkNOMQ8wDQYDVQQKEwZNT0ZURUMxDDAKBgNVBAsTA0VESTEQMA4GA1UECBMHQmVpSmluZzExMC8GA1UEAxMoNTEwMDAwMDAwMDAxOC2xsb6pytC3v8m9x/i9+LP2v9rT0M/euavLvjEYMBYGA1UEDBMPVXNlcklkIElzIEVtcHR5MR8wHQYJKoZIhvcNAQkBFhB0aWFud2pAZWMuY29tLmNuMIGfMA0GCSqGSIb3DQEBAQUAA
4、4GNADCBiQKBgQDm4Rbd0zfycP0k4nPd3OF7B9rZvTQMkb/0ryGO4euygQYlAiXI6H/wA5JJb+Dxyv3KpE95xyK0u2uiLmihjMCN+eS454Cl5vAi5Us38pOIfomOj2RBcy+X+LC61BQB+WB8LwisGmM4hOu3Twd+9o1VlulrEdjDuEoosUeg7XGvpQIDAQABoyEwHzAMBgNVHRMBAf8EAjAAMA8GA1UdDwEB/wQFAwMAoAAwDQYJKoZIhvcNAQEEBQADgYEAZvVMeBosPBO1AhbbyoG0MiLo1ZRAn6
5、2ZK0rqITlQKcM+caFzZ9Rwhs+7SNI+rzZ/+T6xN1fdczeiwQHwESom+MLg+ChH5IrUYmwExbkCrur4Qkj6mS+SUs82pC+8zi3OnLGoyFRoRnJWPzC4BhleZ0QroR9A469iyoPfhzrd9Ok=-----ENDCERTIFICATE-----可以看到,证书实际内容为BEGIN和END中间的部分。并且,在每64个字符(最后一行可能不足64位)后会有一个回车换行符,其16进制数为x0d x0a。可以用UltraEdit打开查看。现在将这些回车换行去掉后透传给后台服务器。实验测试时发现的问题如
6、下:1)使用X509::whole读出的证书串会把回车换行符从x0dx0a换成一个字符 x20。2)直接将X509::whole插入到httpheader中回重新出现回车换行符x0dx0a,同时还会出现x203)regsub命令无法替换x20这种不可见字符。因此,最终实现方法是根据证书格式的规律,取出每65位字符串中的前64位(最后一行不定),将这些小串最终拼接成需要的证书串。以达到去掉回车换行符的目的。具体的iRule如下:第4页共4页最后编辑日期:2021-7-20北京华胜天成科技股份有限公司whenCLIENTSSL_CLIENTCERT{sessionadd
7、ssl[SSL::sessionid][SSL::cert0]3600}whenHTTP_REQUEST{setid[SSL::sessionid]setcert[sessionlookupssl$id]setsubject[X509::subject$cert]setcert[X509::whole$cert]setsub_cert[substr$cert28"-"]setsubcert_len[stringlength$sub_cert]setnew_sub_cert""fo
此文档下载收益归作者所有