经过长时间的努力,我终于为 Jetty 配置了自生成的私钥和证书。现在,我无法解密我捕获用于检查的 Jetty 服务器的 HTTPS 流量。
以下是来自 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 文件合并为一个 .pem 文件并放入 Wireshark 中,但两次尝试均未成功。我的 .key 文件有密码。这有什么区别吗?我可能做错了什么?
谢谢你的时间!
答案1
我认为 wireshark 在设置私钥文件路径时没有办法要求您输入密码,因此不支持加密私钥。您可以尝试预先解密密钥:
openssl rsa -in jetty_server.key -out jetty_server.key.unencrypted
然后在 wireshark 首选项中将“jetty_server.key.unencrypted”设置为您的私钥,就像您对加密密钥所做的那样。
附言:很高兴它起作用了:)