【发布时间】:2016-09-06 21:02:11
【问题描述】:
在 OpenSSL 的 SSL/TLS 客户端 implementation 中,定义了一个结构 SSL。例如,这里通常是前几行(来自链接)。
SSL_CTX* ctx = NULL;
BIO *web = NULL, *out = NULL;
SSL *ssl = NULL;
init_openssl_library();
我无法在 OpenSSL 库的头文件中找到它的结构。 SSL * ssl的内容如何学习?
【问题讨论】:
-
它是一个不透明的结构,应用程序不需要知道内容。
-
无论出于何种原因你认为你必须知道它的内容:你不知道。如果您好奇或想帮助开发:请阅读源代码。
-
就像你使用
stdio时不需要知道FILE的结构一样。 -
我现在只是好奇,在头文件中找不到它的定义(github.com/openssl/openssl)。我检查了 openssl/include/openssl/ssl.h 和一堆其他文件。基本上我想知道哪个结构保存了握手结束时生成的密钥。
-
@Olaf - “无论出于何种原因你认为你必须知道它的内容:你不知道” - 有很多原因可能希望看到内容。我可以在不尝试的情况下想到一些,例如会话的日志记录和离线分析。其他原因包括研究和追踪源头以解决由于缺少文档而导致的问题。