我的第一个想法是使用类似openssl s_client东西,但是这只支持TCP而不是UDP,看起来需要一些特殊的魔力才能使TLS通过UDP工作,我如何与之交互并获得所提供的证书链的转储? (我特别需要证书,而不是关于他们的信息)
我碰巧在TCP模式下运行OpenVPN服务器,我可以确认你不能使用openssl s_client获取证书:
[me@risby 17]$ openssl s_client -connect openvpn.example.com:1194 CONNECTED(00000003) 140413456672632:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure:s23_lib.c:184: --- no peer certificate available --- No client certificate CA names sent --- SSL handshake has read 0 bytes and written 205 bytes --- New, (NONE), Cipher is (NONE) Secure Renegotiation IS NOT supported Compression: NONE Expansion: NONE ---
我只能假设,尽pipeOpenVPN使用SSL,但是它与标准的SSL / TLS连接不同。 所以我不认为这是要走的路。
我希望find一个openvpn客户端调用,将转储的certficates,但迄今没有。 我很遗憾,不要为你多做些事情,但是我认为值得写一个可以避免浪费时间的答案。