fam*_*oro 7 java encryption ssl packet-sniffers tls1.2
我已经实现了类似于http://www.freeproject.co.in/source/Network-Packet-Sniffer.aspx?pf=Java&t=web或 http://packetsnifferusingjpcap.blogspot.it提出的Java网络数据包嗅探器 ./
现在我想解密来自https的数据流,试图这样做我设置变量SSLKEYLOGFILE,这样浏览器会将用于生成TLS会话密钥的值写入此变量指示的文件中https://isc.sans.edu/forums/diary/Psst+Your+Browser+Knows+All+Your+Secrets/16415/
正如https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/Key_Log_Format中所述.
SSLKEYLOGFILE指示的文件是一系列行.注释行以尖锐字符('#')开头.否则该行采用这些格式之一.
RSA <space> <16 bytes of hex encoded encrypted pre master secret> <space> <96 bytes of hex encoded pre master secret>
CLIENT_RANDOM <space> <64 bytes of hex encoded client_random> <space> <96 bytes of hex encoded master secret>
Run Code Online (Sandbox Code Playgroud)
如何使用SSL/TLS机密日志文件来解密java代码中的网络包?
由于wireshark 已经实现了所有必要的逻辑,因此您只需通过tshark通过管道传输捕获的数据,并将输出文本解析回您的应用程序。
您也可以在像bouncycastle这样的加密库的帮助下自己完成此操作,但这会花费很多精力,因为您仍然需要解析握手和所有内容(SSLKEYLOGFILE 仅包含真正的秘密位,仍然需要大量上下文才能成功解密流量!)。
归档时间: |
|
查看次数: |
2181 次 |
最近记录: |