在tcp端口上获取openvpn服务器的ssl证书

use*_*703 13 ssl openvpn

获取HTTPS端口的ssl证书很容易(默认为443)

但是tcp端口上的ssl怎么样?

实例:

205.185.198.226:1194

这是在端口1194上运行的vpn(openvpn服务器)

IP 205.185.198.226在端口1194上使用ssl/tls来处理基于证书的客户端身份验证方法

正如Steffen Ullrich所说:

OpenVPN是不是普通党卫军但它包装自己的协议里面的SSL流,见https://openvpn.net/index.php/open-source/documentation/security-overview.html因此你必须在你面前说话封装协议到达TLS流,然后包含证书.

那么,是否真的可以在tcp端口上获取openvpn服务器的ssl证书?任何示例代码?(PHP,C或Perl)

Ste*_*ich 5

$url = "tcp://198.203.28.44:2018";
Run Code Online (Sandbox Code Playgroud)

我不知道在这个ip:port上说了什么协议,但要么它不是SSL,要么服务器不接受SSL握手内的公共参数.

$ openssl s_client -connect 198.203.28.44:2018 -debug
CONNECTED(00000003)
write to 0x17e1490 [0x17e1a20] (295 bytes => 295 (0x127))
...
read from 0x17e1490 [0x17e6f80] (7 bytes => 0 (0x0))
...SSL routines:SSL23_WRITE:ssl handshake failure:...
Run Code Online (Sandbox Code Playgroud)

客户端使用ClientHello(295字节)启动SSL握手.服务器仅关闭连接而不是使用握手(0字节)进行回复.

由于没有成功进行SSL握手,因此无法获得连接证书,即服务器不发送任何内容,这也意味着没有发送证书.

  • @ user2203703:OpenVPN是不是普通党卫军但它包装自己的协议里面的SSL流,见https://openvpn.net/index.php/open-source/documentation/security-overview.html.因此,在到达包含证书的TLS流之前,您必须先说出封装协议. (2认同)