我经过漫长的斗争,为自己生成的私钥和证书configuration了Jetty。 现在,我无法解密从捕获的Jetty服务器上进行检查的HTTPSstream量。
以下是Wireshark的SSL日志中的错误(文件和主机名被掩盖):
ssl_init keys string: <host>,8443,data,C:\path\to\file.pem ssl_init found host entry <host>,8443,data,C:\path\to\file.pem ssl_init addr '<host>' port '8443' filename 'C:\path\to\file.pem' password(only for p12 file) '(null)' ssl_load_key: can't import pem data
我不确定发生了什么问题。 以下是正在使用的密钥和crt文件的标题:
.key文件:
-----BEGIN RSA PRIVATE KEY----- Proc-Type: 4,ENCRYPTED DEK-Info: DES-EDE3-CBC,159E7E1BB65239C8 ... <rest of private key> -----END RSA PRIVATE KEY-----
.crt文件:
-----BEGIN CERTIFICATE----- ... <rest of crt key> -----END CERTIFICATE-----
我尝试了将.key文件加载到Wireshark中; 我也尝试将.key和.crt文件合并到Wireshark的单个.pem文件中,但两次尝试都没有成功。 我的.key文件有一个密码。 这有什么区别? 我可能做错了什么?
谢谢你的时间!
我认为wireshark没有办法在设置私钥的文件path时询问您的密码,因此不支持encryption的私钥。 您可以尝试预先解密密钥:
openssl rsa -in jetty_server.key -out jetty_server.key.unencrypted
然后在wireshark首选项中设置“jetty_server.key.unencrypted”作为你的私钥,就像你使用encryption的私钥一样。
PS:很高兴它工作:)