OpenSSL não é possível obter o certificado do emissor local, a menos que o CAfile seja especificado explicitamente
Eu estou tentando se conectar ao serviço de notificação por push da Apple de um servidor Ubuntu para um aplicativo. Gerei com êxito o certificado .pem combinado exigido pelo provedor pyAPNS que estou usando. No entanto, quando tento verificar o certificado comopenssl verify
, Eu receboerror 20 at 0 depth lookup:unable to get local issuer certificate
. Funciona se eu especificar explicitamente a autoridade de certificação (openssl verify apns.pem -CAfile entrust_2048_ca.pem
), mas eu já instalei explicitamente o certificado Entrust no sistema conforme as instruçõesAqui, em "Importando um certificado para o banco de dados de autoridade de certificação de todo o sistema" e, tanto quanto eu entendoesta página, tudo é como deveria ser (o certificado está em / usr / lib / ssl / certs e há um link simbólico para ele com o hash).
O mesmo acontece se eu tentar conectar-me ao próprio APNS comopenssl s_client
: parece se conectar bem se eu especificar o arquivo CA explicitamente, mas caso contrário não. PyAPNS me diz que não pode se conectar ao servidor APNS, e eu só posso presumir que é pela mesma razão.
Como faço para que o OpenSSL reconheça a autoridade de certificação Entrust por padrão, sem explicitamente especificá-la toda vez? Estou faltando um passo em algum lugar?