您好我是OpenSSL的新手,所以请忽略它的无效问题。 我只想在客户端和服务器之间启动EAP-TLS会话。所以,我正在使用下面提到的命令s_client EAP-TLS的实现代码
openssl s_client -connect <ip-address>:<Port-NO> -tls1
和它的工作正常,但我想同样使用c代码发生。
是否有任何c代码实现s_client -connect?
您好我是OpenSSL的新手,所以请忽略它的无效问题。 我只想在客户端和服务器之间启动EAP-TLS会话。所以,我正在使用下面提到的命令s_client EAP-TLS的实现代码
openssl s_client -connect <ip-address>:<Port-NO> -tls1
和它的工作正常,但我想同样使用c代码发生。
是否有任何c代码实现s_client -connect?
是否有任何c代码实现s_client -connect?
是的,有。
登记<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,您需要一个“密钥材料出口商”。这是RFC 5705的一部分。我认为这个想法是使用您的身份验证方法生成premaster_secret
或master_secret
,然后将控制权重新转换为TLS。
http://osxr.org/openssl/source/apps/s_client.c – Prabhu