为什么Wireshark无法解密HTTPS数据
展开全部
HTTPS的通讯是加密的,所以默认情况下你只能看到HTTPS在建立连接之初的交互证书和协商的几个消息而已,真正的业务数据(HTTP消息)是被加密的,你必须借助服务器密钥(私钥)才能查看。即使在HTTPS双向认证(服务器验证客户端证书)的情况下,你也只需要服务器私钥就可以查看HTTPS消息里的加密内容。 1. 配置Wireshark选中Wireshark主菜单Edit->Preferences,将打开一个配置窗口;窗口左侧是一棵树(目录),你打开其中的Protocols,将列出所有Wireshark支持的协议;在其中找到SSL并选中,右边窗口里将列出几个参数,其中“RSA keys list”即用于配置服务器私钥。该配置的格式为: ,,, 各字段的含义为: ---- 服务器IP地址(对于HTTPS即为WEB服务器)。 ---- SSL的端口(HTTPS的端口,如443,8443)。望采纳
2016-08-01
展开全部
1.配置Wireshark选中Wireshark主菜单Edit->Preferences,将打开一个配置窗口;窗口左侧是一棵树(目录),你打开其中的Protocols,将列出所有Wireshark支持的协议;在其中找到SSL并选中,右边窗口里将列出几个参数,其中“RSAkeyslist”即用于配置服务器私钥。该配置的格式为:,,,各字段的含义为:----服务器IP地址(对于HTTPS即为WEB服务器)。----SSL的端口(HTTPS的端口,如443,8443)。----表示SSL里加密的是什么协议,对于HTTPS,这项应该填HTTP。----服务器密钥文件,文件里的私钥必须是明文(没有密码保护的格式)。例如:192.168.1.1,8443,http,C:/myserverkey/serverkey.pem若你想设置多组这样的配置,可以用分号隔开,如:192.168.1.1,8443,http,C:/myserverkey/clearkey.pem;10.10.1.2,443,http,C:/myserverkey/clearkey2.pem2.导出服务器密钥(私钥)的明文格式(即前面提到的)大家当初在配置HTTPS服务器,服务器私钥时,一般都会输入一个保护私钥的密码。那如何导出明文形式的服务器私钥呢,需要视情况而定:(1)若你是像《如何用Tomcat和Openssl构建HTTPS双向认证环境(HTTPS客户端认证)》里所述的那样,用类似于如下命令生成服务器私钥的:opensslreq-newkeyrsa:1024-keyoutserverkey.pem-keyformPEM-outserverreq.pem/-outformPEM-subj"/O=ABCom/OU=servers/CN=servername"M而且你的服务器私钥文件serverkey.pem还在,则可以这样导出服务器私钥明文文件:opensslrsa-inserverkey.pem>clearkey.pem执行命令式需要输入私钥的保护密码就可以得到私钥明文文件clearkey.pem了。(2)若你已把serverkey.pem丢了,但还有pkcs12格式的服务器证书库文件,该文件当初用类似于以下命令生成的:opensslpkcs12-export-inservercert.pem-inkeyserverkey.pem/-outtomcat.p12-nametomcat-CAfile"$HOME/testca/cacert.pem"/-canameroot-chain则,你可以用下面命令把服务器私钥从tomcat.p12(pkcs12格式)文件里导出来:opensslpkcs12-intomcat.p12-nocerts-nodes-outclearkey.pem执行命令式需要输入pkcs12的保护密码。然后编辑一下生成的clearkey.pem文件,把“-----BEGINRSAPRIVATEKEY-----”之前的内容删掉就可以了。(3)若你的服务器私钥是用java的keytool命令生成的keystore文件,则要弄出来比较麻烦,建议服务器keystore最好用《如何用Tomcat和Openssl构建HTTPS双向认证环境(HTTPS客户端认证)》里的openssl生成服务器公钥私钥和证书的方法,生成pkcs12格式的keystore。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询