WAF上传https证书报错:无效的证书

作者: 来源:本站原创 点击数: 发布时间:2021年09月30日

问题描述:WAF上传https证书报错:无效的证书

使用客户提供的公钥私钥(无ca证书)正确合成 .cer 证书文件上传到https站点防护中,报错:无效的证书!

解决办法:对比分析后,发现客户提供的私钥内容格式有问题,并非真正需要的私钥(rsa private key)而导致合成的cer文件上传报错。

ed7717010ff54b5ab830816c07485eaf.png

1. WAF HTTPS证书内容格式(公钥私钥)强调 [公钥certificate,私钥rsa private key]

公钥certificate,私钥rsa private key 对于客户提供的公钥私钥正确性判断,第一步确认下公钥私钥内容格式是否有问题;如果不符合,先就可判断客户提供的内容不对,让其再次确认信息内容(提取服务器公钥私钥方式可参考解决方案5736:HTTPS证书制作系列大全--不会制作WAF代理站点使用的HTTPS证书的看这里)                                                    

一、  正确的公钥内容格式为 begin/end certificate                                 

二、  正确的私钥内容格式为 begin/end  rsa private key            

 **注意,不是private key!!(注意和错误的区分开,不然https证书内容是不符合WAF证书校验机制的)                                                                                   

2. 利用Notepad++工具合成WAF https证书 [常用知识]

常用知识公钥certificate,私钥rsa private key解决方案                                

所需材料: 1. 签名过的公钥xxx.cer或xxx.crt或xxx.pem;                                                  

2. CA证书(包括中级证书,根证书)                                                            

3. 服务器私钥server.key  注意,这里摆放顺序很有讲究,公钥须在文件最顶端,然后是CA证书(中级证书,根证书),最后是私钥。             

(1)新建一个空白文件,将“公钥+ca证书+私钥”依序叠放 (此处无ca证书,先省略)                                                                                               

(2)更改该文件为unix格式(仅针对于linux服务器,Windows服务器可不用更改格式默认为Windows format)                                                           

(3)保存该文件为.cer文件                                                                         

(4)waf 代理站点https证书合成完毕,最后导入waf测试是否正确可用,参考解决方案5026:如何判断WAF导入的https的证书是否正确 [判断Https导入是否正常]

3. WAF代理HTTPS站点后的交互过程

背景知识点制作说明常用知识  由于WAF本身采用的就是反向代理架构,所以不论是串联、旁路还是反向代理,其中的交互过程都是一样的。                        

处理过程如下所述:                                                   

 1. 客户端访问WAF,首先完成三次握手: 其中45.64.168.122是WAF的WAN口地址,192.168.16.63是客户端地址。    

 2. WAF充当服务器,建立第一段连接,开始进行ssl握手: 这个过程中,客户端hello发完后,WAF会响应一个server的hello包,后面紧跟着WAF相应站点证书的公钥:                                             即这里上传的cer证书(其中包括公钥,私钥和CA证书):然后客户端根据此证书的公钥进行加密后传输数据:                                   

3. 和真实客户端ssl握手建立成功后,WAF用上传证书中的私钥解密真实客户端发来的数据,开始向真实服务器发送握手请求建立第二段连接,此时WAF充当客户端,真实服务器发给WAF的证书是真实服务器上储存的公钥:然后WAF用服务器发来的公钥将数据加密后发给服务器。                            

实际上上传到waf的证书有两个作用,一是发送公钥给客户端让客户端加密,而是用来解密客户端发来的真实数据。而与真实服务器的交互过程实际用的是真实服务器发来的公钥。

4. 如何在WAF中导入https证书 [背景知识点]
【安全管理】---->【SSL证书管理】点击导入证书: 点击导入证书之后:  点击浏览,把本地证书导入。然后点击确定