Use openssl verify
.
Por exemplo:
$ openssl verify -CAfile /path/to/issuer.cert /path/to/server.cert
Nesse caso, o emissor deve ser o certificado intermediário de Go Daddy e o certificado de servidor é o certificado que você deseja verificar. Qual intermediário é o certo? Sua saída x.509 diz a você:
Authority Information Access:
OCSP - URI:http://ocsp.godaddy.com/
CA Issuers - URI:http://certificates.godaddy.com/repository/gdig2.crt
Assim, o emissor que você deseja é link .
Na configuração do OpenVPN, você pode definir o caminho para gdig2.crt
como a opção ca
e isso será adequado para verificação. É bom verificar a validade de gdig2.crt
até a raiz uma vez para sua própria paz de espírito, mas no que diz respeito ao OpenVPN você pode dizer para finalmente confiar no intermediário sem perda de segurança.
Outra forma para o subcomando verify
é usar CApath
em vez de CAfile
:
$ openssl verify -CApath /etc/ssl/certs /path/to/server.cert
Com CApath
, o caminho deve ser um diretório contendo vários certificados para todos os emissores confiáveis (incluindo CAs intermediárias e CAs raiz) e, em seguida, execute c_rehash /path/to/directory/
. Sua distribuição provavelmente terá feito isso para você se você tiver o pacote ca-certificates
instalado.
Aviso sobre falhas de verificação
Existem incompatibilidades com openssl
entre 0.9.xe 1.0.x. Se você tem um certificado que acha que deve ser verificado, mas não é, provavelmente está verificando com uma versão 0.9.x de openssl
. Encontre algo com 1.0.xe tente novamente.