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

时间:2015-10-11 17:09:06

标签: 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不是普通的SS,但它将SSL流打包在自己的内部   协议,见https://openvpn.net/index.php/open-source/documentation/security-overview.html因此   在进入TLS之前,你必须说出封装协议   然后包含证书的流。

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

1 个答案:

答案 0 :(得分:5)

$url = "tcp://198.203.28.44:2018";

我不知道在这个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:...

客户端使用ClientHello(295字节)启动SSL握手。服务器只关闭连接而不是通过握手回复(0字节)。

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