【发布时间】:2015-05-08 07:55:30
【问题描述】:
您好,我是 OpenSSL 的新手,所以如果它不是有效的问题,请忽略。 我只想在客户端和服务器之间启动 EAP-TLS 会话。所以,我正在使用下面提到的命令
openssl s_client -connect <ip-address>:<Port-NO> -tls1
它工作正常,但我希望使用 c 代码也能做到这一点。
s_client -connect 有 c 代码实现吗??
【问题讨论】:
您好,我是 OpenSSL 的新手,所以如果它不是有效的问题,请忽略。 我只想在客户端和服务器之间启动 EAP-TLS 会话。所以,我正在使用下面提到的命令
openssl s_client -connect <ip-address>:<Port-NO> -tls1
它工作正常,但我希望使用 c 代码也能做到这一点。
s_client -connect 有 c 代码实现吗??
【问题讨论】:
s_client -connect 有 c 代码实现吗??
是的,有。
签入<openssl src>/apps/s_client.c。这是s_client 子命令的源代码。或者,访问 OpenSSL 的 openssl/apps/s_client.c。
您可以甚至将s_client 构建为独立的符号,以便您可以就地对其进行单步调试/调试。见How to run different 'modes' of a program based on command line parameters?
...EAP-TLS
关于 EAP-TLS 的问题...我不认为 OpenSSL 提供了它。但我可能是错的。
几年前我查看了提议的标准,它更像是通过 TLS(或 TLS)通道插入身份验证方法的“框架”。请参阅RFC 5216 (TLS) 和 RFC 6347 (DTLS)。
要使用 EAP-TLS,您需要一个“Keying Material Exporter”。这是RFC 5705 的一部分。我认为这个想法是使用您的身份验证方法生成premaster_secret 或master_secret,然后将控制权交还给 TLS。
【讨论】: