我正在尝试跟踪用C
语言编写的应用程序,并使用由TLS
实现的TLS_method()
连接
主SSL
对象的BIO为BIO_s_socket
。
由于源代码的完整性,我无法将BIO类型更改为BIO_s_mem
或其他。
我想读取在此SSL
连接上收到的加密流量,
SSL_read
或SSL_peek
方法仅在解密后为我提供数据。
有什么方法可以读取在SSL's
套接字上收到的纯加密数据,而不会为SSL_read
功能带来问题?
我想要这样的东西:
char buf[DEFAULT_BUFSIZE];
/* read encrypted data arrived at socket and save it to buf */
SSL_read_encrypted(ssl, buf, sizeof(buf));
char decbuf[DEFAULT_BUFSIZE];
size_t n = SSL_read(ssl, decbuf, len);
/* decbuf's data is exactly buf's data after decryption */