所以我有一个Android应用程序和我自己的Web服务器(它有TLS 1.0,TLS 1.1和TLS 1.2)支持打开。我们正计划进行应用升级,我们试图强制应用和服务器之间的安全连接使用TLS 1.2。
请注意,我知道默认情况下在Android Lollipop(API级别21)上启用了TLS 1.2的事实,并且由于某些原因,默认情况下未从API级别16-19启用。我在我的应用程序中进行了更改。这一切都很好。
我的问题是我如何测试并保证应用程序和服务器确实使用TLS1.2。我在互联网上搜索并找到了如何在浏览器上看到相同信息的方法。
答案 0 :(得分:2)
存在大量材料以便用它练习,我已将链接链接到文档。
如果您从服务器录制了一些数据包,如果您的应用程序使用的是TLS1.2,则可以在Protocol
列下阅读,并了解更多详细信息。
要记录服务器的数据包,您需要使用tcpdump:
tcpdump -i <interface> -s 65535 -w <some-file>
通过scha或类似的东西,你将传输给你的客户端的文件的名称,简单的.pcap,用wirehark从终端输入来分析它:
wireshark <some-file>
如果您的应用使用的是TLS1.2,它将显示在涉及与您的应用程序通信的每一行的Protocol
列下。
编辑:
您可以使用过滤器tcp.port==<USED_PORT>
,其中<USED_PORT>
在这种情况下是&#39; 8391&#39;在wireshark中,只过滤和分析您感兴趣的数据包。如果连接已加密,您可以在ssl握手的某处找到加密连接。
如果连接未加密,您可能能够清楚地读取传入的数据。如果您可以在某个地方发布pcap文件,我可以告诉您连接是否加密。
EDIT1:
如果您确定连接已加密,则可以使用过滤器tcp.port==8391 && ssl
检查已使用的TLS版本。
您需要分析传输Application Data
的数据包,如果在Secure Socket Layer
下显示您正在使用正确加密的Version: TLS 1.2
。