2013-07-02 23 views
3

我希望你能原谅我的坏/糟糕的英语。为什么我的HTTPS连接不使用TLS?

我很确定这是一个很天真的问题,但我需要解决它。

我运行在JBOSS应用AS 7服务器,我启用了HTTPS在我的standalone.xml文件中添加此行连接:现在

<connector name="https" protocol="HTTP/1.1" scheme="https" socket-binding="https" secure="true"> 
    <ssl name="ssl" password="password" protocol="TLSv1"/> 
</connector> 

,如果我试图通过进入电影我的应用程序使用这个网址的web浏览器:

https://localhost:8443/myapp/ 

后,我接受我的自制证书,浏览器告诉我,连接是由AES 128使用一切TLS协议提出,并加密看起来很好。

但是,当我在服务器上使用Wireshark,并尝试使用位于本地网络中的计算机访问我的应用程序时,没有TLS跟踪,但只有TCP连接(似乎已加密)。另一方面,如果我尝试访问HTTPS Web服务器,Wireshark告诉我正在使用的协议是TLS。我现在很困惑。

所以,这里是我的问题:我的连接是否在TLS上工作?如果没有,可能是什么问题(可能是端口8443不是HTTPS的标准端口?)?

让我知道我是否真的不清楚,或者如果我没有提供足够的信息。

此致敬礼, PDauph。

回答

4

我怀疑你的连接是使用TLS。 Wireshark不会自动识别所有协议。它使用试探法(包括端口号)尝试确定连接上的分层协议。如果您使用的是非标准端口(如8443),则Wireshark可能不会将连接解释为TLS,即使它实际上是。

如果Wireshark没有单独选择正确的连接,您可以手动告诉Wireshark将连接解码为特定的协议。右键单击其中一个数据包,然后从上下文菜单中选择“Decode As ...”。然后选择SSL作为传输协议。 Wireshark现在应该尝试将连接解析为SSL/TLS流。

这里是documentation on Wireshark decoding

+1

谢谢!我怀疑8443端口,但不是因为Wireshark,谢谢你指出这一点。通过执行“Decode As ...”操作,我可以看到“密钥交换”,“加密握手”以及TLS协议所需的其他阶段。 – PDauph

0

这确实是因为默认情况下,Wireshark不考虑8443来建立HTTPS/SSL连接。

除了处理的解码器,这可以相当容易地配置成在首选项:

  1. 打通偏好(菜单:编辑 - >首选项,键:CTRL + SHIFT + P)

  2. 选择协议 - > HTTP首选项页面

  3. 然后,对于SSL/TLS端口用 “443,”(或根据需要)

然后在下一次捕获数据时,它将会使用适当的HTTPS/SSL解码器。

+0

似乎对我有用。不知道为什么这是downvoted。 – rhashimoto