从自签名证书到wireshark解密https

从自签名证书到wireshark解密https,第1张

以前使用库写过一个https的特定算法的解密,整个测试过程比较麻烦,这边记录下测试准备内容.

HTTPS正常情况下使用的证书都是由CA结构颁发的,浏览器内置了根证书,这样我们在访问网站的时候通过多级校验(这个多级认证的意思是,比如我的证书是由A来颁发的,那A是否合法那,A的证书是由B来颁发的,B的证书又是由C来颁发的,最终C是根证书,C证书内置在浏览器中,通过多级认证来完成对服务器认证),来实现对网站的认证。

对于我们自己做的自签名证书,浏览器在打开我们网站的时候,会进行安全提示,因为可能存在着中间攻击,如果用户准许访问还是可以访问的。

对于我们内部测试来说,或者我们局域网使用,是没有问题的,我们也可以通过把证书存入的方式,防止下次再出告警;生成私钥和证书,主要是通过openssl工具来生成的。

CSR文件证书签名请求文件,包含了服务器的密钥对,CA按照会校验这个文件,然后验证CSR请求文件。

执行命令:

需要填些信息,自签名的除了密码,其他的无所谓。

最终生成了密钥对文件和CSR文件。

看下内容:

显示:

openssl的命令实在是复杂,这是抄的两个,-signkey是指明使用的密钥对,-in 表示csr文件,-days表示有效期,out最终生成的x509格式的证书文件。

有时候需要PKCS#12 格式即.p12结尾的证书,命令如下:

生成test_cert.p12 文件,需要输出密码 12345m

单独提取公钥的命令:

加密的可以通过:

命令查看,得到私钥:

保存为test_private.pem

找到conf下面的server.xml 编辑:

port: 指明 https的端口为7443

ciphers: 为密钥套件,故意配置几个容易解密的,便于测试,生产环境不能这样用。

keystoreFile:证书文件位置

keystorePass: 证书密码

keystoreType:证书类型。

在编辑地方,找到“首选项”

配置解析的ip,端口,协议和对应的私钥文件,非加密的私钥文件。

还遇到一个坑,我连vpn测试的,结果抓不到,其实设置下就可以抓到包了,如下图:

找到vpn的虚拟网卡,勾上一个选项。

我们因为已经配置了私钥,所以可以通过wireshark抓包并且直接解密,解密的https的报文颜色为淡绿色,如下:

注意: 如果你解密不了,可能的原因是,开始抓包的时候,https的交互已经完成,可以重启浏览器连接下试试,如果再不行,重启后台的服务,开始抓包的时候一定要确保https的前面的协商过程也在抓的包里面。

1.创建CA私钥: ca.key

2.创建根证书请求文件ca.csr:

这里需要填入配置信息:

3.自签根证书ca.cer:

4.【这一步可做可不做】生成p12格式根证书ca.p12(密码填写123456,之前ca.csr的密码,ps:这里输入的时候是不可见的输入完成后回车即可)

5.生成服务端私钥key server.key:

6.生成服务端请求文件 server.csr

填入证书配置信息:

server.csr

7.生成服务端证书server.cer(ca.cer,ca.key,servr.key,server.csr这4个生成服务端证书):

8.生成客户端key client.key:

9.生成客户端请求文件client.csr:

填入证书配置信息:

10.生成客户端证书 client.cer:

11.【可做可不做】生成客户端p12格式根证书client.p12(密码设置123456):

至此,证书就制作完毕了:

原因:请求没有带上ca证书,无法校验服务器的证书 

解决方法1:

curl 加上-cacert ca证书 校验服务器证书

解决方法2:

curl 加上-k 可以不校验服务器证书。

网上给出的答复是:

Whatever method you use to generate the certificate and key files, the Common Name value used for the server and client certificates/keys must each differ from the Common Name value used for the CA certificate. Otherwise, the certificate and key files will not work for servers compiled using OpenSSL.

When OpenSSL prompts you for the Common Name for each certificate, use different names.

解决方案:

参考文档链接:https://www.jianshu.com/p/094c7fc8cb85,感谢作者CQ_TYL


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/12017025.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存