A verificação do OpenSSL falhou com o certificado assinado da CA, mas não com o próprio assinado?

1

Em primeiro lugar, sei que há muitas questões relacionadas, mas parece que a maioria delas se deve à falta de certificados do emissor no servidor.

Tenho seguido o guia para ativar a autenticação de clientes com SSL, mas estou preso em pegar o Apache para aceitar o certificado do cliente. Após uma inspeção mais detalhada, os logs do Apache são preenchidos com Certificate Verification: Error (20): unable to get local issuer certificate messages.

Estou usando um certificado que uma CA me forneceu e minha chave privada como CA.

Para diagnosticar ainda mais o problema, executei openssl verify -CAfile ca.cert client_signed.crt e obtive o mesmo erro.

Eu decido refazer todos os passos. No entanto, fazer tudo a partir da linha de comando ainda retorna o mesmo erro

$ openssl x509 -req -days 360 -in client.csr -CA ca.cert -CAkey ca.key -CAcreateserial -out client_signed.crt
Signature ok
subject= ...
Getting CA Private Key
Enter pass phrase for server.key:
[I type in the password and press ENTER]
$ openssl verify -CAfile ca.cert client_signed.crt
[ .. ]
error 20 at 0 depth lookup:unable to get local issuer certificate
$ ls ca.cert
ca.cert

Para diagnosticar totalmente o problema, decido gerar e assinar um certificado para ser usado como CA para assinar o certificado do cliente. Para minha surpresa, isso funcionou perfeitamente . Este é realmente o primeiro passo no tutorial que eu vinculei.

Então, aparentemente, o problema está relacionado ao meu certificado. Estou suspeitando que deve haver algo relacionado à Cadeia de Confiança, pois não tenho o certificado da CA que assinou meu próprio certificado. Tentei fazer o download deles em seu site , mas não posso nem mesmo confirmar meu próprio certificado.

$ ls /path/to/downloaded/files/
acrn.cer  ancca.crt  CorreoUruguayoCA.crt  CorreoUruguayoRootCA.crt
$ openssl verify -CApath /path/to/downloaded/files/ my.cert
error 20 at 0 depth lookup:unable to get local issuer certificate

Qualquer ajuda será muito apreciada.

Editar: Usando o utilitário "Visualizar Arquivo" no Ubuntu indica que meu certificado foi Verified by: Correo Uruguayo - CA . Não tenho certeza porque o openssl está falhando em verificar isso.

    
por justabit 24.02.2015 / 12:47

0 respostas