Como eu me conecto a um servidor OpenVPN e despejo da cadeia de certificados apresentada durante a conexão?

4

Meu primeiro pensamento foi usar algo como openssl s_client mas isso só suporta TCP não UDP e parece que requer alguma mágica especial para obter TLS sobre UDP funcionando, como faço para interagir com isso e obter um dump da cadeia certficate apresentado? (Eu especificamente preciso dos certificados, não informações sobre eles)

    
por Shelvacu 26.07.2015 / 11:25

1 resposta

3

Por acaso estou executando um servidor OpenVPN no modo TCP, e posso confirmar que você não pode usar openssl s_client para obter o certificado:

[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
---

Eu só posso presumir que, embora o OpenVPN use SSL, ele o faz de uma maneira diferente de uma conexão SSL / TLS padrão. Então eu não acho que esse é o caminho a seguir.

Eu esperava encontrar uma invocação do cliente openvpn que despejaria as certificações, mas até agora não. Lamento não ter mais para você, mas achei que valeria a pena escrever uma resposta que pudesse impedir você de perder tempo.

    
por 26.07.2015 / 12:10