WAF上传https证书报错:无效的证书
问题描述:WAF上传https证书报错:无效的证书
使用客户提供的公钥私钥(无ca证书)正确合成 .cer 证书文件上传到https站点防护中,报错:无效的证书!
解决办法:对比分析后,发现客户提供的私钥内容格式有问题,并非真正需要的私钥(rsa private key)而导致合成的cer文件上传报错。
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证书管理】点击导入证书: 点击导入证书之后: 点击浏览,把本地证书导入。然后点击确定 |