gpt4 book ai didi

security - 用静态证书解密openssl数据包

转载 作者:行者123 更新时间:2023-12-04 15:39:47 25 4
gpt4 key购买 nike

我正在开展一个道德黑客项目,以通过 OpenSSL 监控所有加密数据包。
我确实有公钥和私钥(证书文件)。我的常规数据包解密的应用程序代码片段如下:

 SSL_library_init();
ctx = InitCTX();
server = OpenConnection(hostname, atoi(portnum));
ssl = SSL_new(ctx); /* create new SSL connection state */
SSL_set_fd(ssl, server); /* attach the socket descriptor */
ShowCerts(ssl); /* get any certs */
SSL_write(ssl,acClientRequest, strlen(acClientRequest)); /* encrypt & send message */
bytes = SSL_read(ssl, buf, sizeof(buf)); /* get reply & decrypt */
SSL_free(ssl); /* release connection state */

SSL_read 基本上在握手时获取证书并利用它来解密数据。有没有办法离线提供相同的证书来解密数据。

任何帮助/指针都将是非常可观的。

最佳答案

通常,TLS 倾向于临时 key 交换、DHE 或 ECDHE。通过临时 key 交换, session key (预主 key 和主 key )是使用与临时 Diffie Hellman key 而不是作为证书一部分的 RSA 或 ECDSA key 对的 key 协议(protocol)来计算的。所以很多时候你不能这样做。

但是,您可以明确选择较旧的 RSA_ 密码套件之一。在这种情况下,pre-master secret 在客户端使用服务器的公钥进行加密。然后服务器的私钥可以解密这个预主 key ,使用 PRF(基于 HMAC 的 key 推导)计算 session key ,然后验证/解密所有数据包。

应该可以to do this using Wireshark , 是的。

请注意,TLS 1.3 将不再支持 RSA_ 密码套件。您必须捕获客户端的公钥和服务器的私钥、服务器的公钥和客户端的私钥,或者直接捕获 session key 来解密流量。实际上,这是对 TLS 1.3 的常见提示之一。之后解密流量是不可能的。然而,这是设计使然; NSA 也无法做到这一点。

关于security - 用静态证书解密openssl数据包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48283391/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com