我希望你能原谅我糟糕/糟糕的英语。
我很确定这是一个非常天真的问题,但我需要解决这个问题。
我在 JBOSS AS 7 服务器上运行一个应用程序,我通过在我的 standalone.xml 文件中添加以下行来启用 HTTPS 连接:
<connector name="https" protocol="HTTP/1.1" scheme="https" socket-binding="https" secure="true">
<ssl name="ssl" password="password" protocol="TLSv1"/>
</connector>
现在,如果我尝试使用此 url 通过 Web 浏览器访问我的应用程序:
https://localhost:8443/myapp/
在我接受我自制的证书后,浏览器告诉我连接是使用 TLS 协议(protocol)建立的,并由 AES 128 加密。一切看起来都很好。
但是当我在服务器上使用 Wireshark 并尝试使用本地网络中的计算机访问我的应用程序时,没有 TLS 的踪迹,只有 TCP 连接(似乎已加密)。
另一方面,如果我尝试访问 HTTPS Web 服务器,Wireshark 会告诉我正在使用的协议(protocol)是 TLS。我现在很困惑。
所以这是我的问题:我的连接在 TLS 上是否仍然有效?如果不是,可能是什么问题(会不会是 8443 端口不是 HTTPS 的标准端口?)?
如果我不是很清楚,或者我没有提供足够的信息,请告诉我。
最好的问候, PDauph。
最佳答案
我怀疑您的连接使用的是 TLS。 Wireshark 不会自动识别所有协议(protocol)。它使用启发式方法(包括端口号)来尝试确定连接上的分层协议(protocol)。如果您使用的是非标准端口(如 8443),那么 Wireshark 可能不会将连接解释为 TLS,即使它实际上是。
您可以手动告诉 Wireshark 在它自己没有选择正确协议(protocol)时将连接解码为特定协议(protocol)。右键单击其中一个数据包,然后从上下文菜单中选择“解码为...”。然后选择 SSL 作为传输协议(protocol)。 Wireshark 现在应该尝试将连接解析为 SSL/TLS 流。
关于ssl - 为什么我的 HTTPS 连接不使用 TLS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17429631/