Preciso adicionar um arquivo .pem cert ao meu pacote de certificados CA padrão, mas não sei onde o pacote de certificados CA padrão é mantido.
Preciso anexar meu novo arquivo .pem a este pacote padrão. Prefiro fazer isso do que especificar minha própria localização usando --capath
O cURL sabe claramente onde procurar, mas não vejo nenhum comando cURL que revele a localização. Existe um comando que irá revelar este local? Como posso encontrá-lo?
De acordo com cURL:
Adicione o certificado de CA do seu servidor ao pacote configurável de CA padrão existente. O caminho padrão do pacote configurável da CA usado pode ser alterado executando o configure com a opção --with-ca-bundle apontando o caminho de sua escolha.
obrigado
ssl-certificate
curl
Slinky
fonte
fonte
Respostas:
Correr
curl
comstrace
pode dar uma pista.Muita produção, mas logo no final, vejo:
que é onde meus certificados são armazenados.
fonte
strace
!strace
aparentemente não disponível no macOS. O "equivalente"dtruss
me disse "dtrace: falha ao inicializar o dtrace: o DTrace requer privilégios adicionais". Então eu useisudo
com isso. Ao qual respondeu "dtrace: falha ao executar curl: o dtrace não pode controlar executáveis assinados com direitos restritos". Não é muito útil.Deve haver um programa 'curl-config' no 'bin /' do curl, ou seja, onde o binário 'curl' reside.
./curl-config --ca
fornece o caminho de instalação do pacote CA.
Acabei de fazer o que é curl-config: "Obter informações sobre uma instalação da libcurl", então acho que só estará disponível se a libcurl estiver instalada, o que eu presumo que seja padrão.
fonte
curl-config
programa não está disponível em todas as versões do programa ou instalações. Por exemplo, alguns administradores podem não entender o objetivo do programa e não instalá-lo porque acham que é apenas uma ferramenta de configuração de compilação. Além disso, se o usuário que precisa do programa não for o administrador de um sistema, ele não poderá instalá-lo. Eu tenho acesso a dois sistemas, um não possui este programa, o outro não dá saída paracurl-config --ca
.strace
para encontrar informações de configuração não deve ser necessário.Eu achei uma maneira fácil: use o
--cacert
com um nome de arquivo errado , a saída mostrará o caminho.Exemplo:
fonte
Linux (Ubuntu, Debian)
Copie sua autoridade de certificação para dir / usr / local / share / ca-certificates /
Atualize o armazenamento da CA
Remova sua CA e atualize o armazenamento da CA:
Linux (CentOs 6)
Instale o pacote ca-certificates:
Habilite o recurso de configuração dinâmica da CA: update-ca-trust force-enable Adicione-o como um novo arquivo a
/etc/pki/ca-trust/source/anchors/
:Linux (CentOs 5)
Anexe seu certificado confiável ao arquivo
/etc/pki/tls/certs/ca-bundle.crt
https://manuals.gfi.com/en/kerio/connect/content/server-configuration/ssl-certificates/adding-trusted-root-certificates-to-the-server-1605.html link muito bom, que explica, como adicioná-lo a vários sistemas operacionais populares.
fonte
você pode fazer o download do pacote de certificados raiz da CA do haxx.se, que é o criador do curl. basta anexar seu certificado no arquivo .pem e consultá-lo ao usar curl com a opção --cacert
fonte
-v
com https no URL.fonte
-k
opção para ver se há alguma diferença. Não houve diferença.O local padrão do pacote CA é dependente do SO. No RHEL5, ele está localizado em /etc/pki/tls/certs/ca-bundle.pem. Em outros tipos de sistemas operacionais Linux ou não-linux, ele pode estar em um local diferente.
fonte