Localização padrão do pacote de certificados da CA

15

Eu preciso adicionar um arquivo de certificado .pem ao meu bundle de certificado de CA padrão, mas não sei onde o pacote padrão do CA Cert é mantido.

Eu preciso acrescentar meu novo arquivo .pem ao pacote padrão. Eu prefiro fazer isso do que especificar minha própria localização usando --capath

cURL claramente sabe 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 autoridade de certificação do seu servidor ao pacote de certificados CA padrão existente. O caminho padrão do bundle da CA usado pode ser alterado executando o configure com a opção --with-ca-bundle apontando o caminho de sua escolha.

Obrigado

    
por Slinky 07.03.2013 / 14:01

6 respostas

14

A execução de curl com strace pode lhe dar uma pista.

strace curl https://www.google.com |& grep open

Muita saída, mas bem perto do fim eu vejo:

open("/etc/ssl/certs/578d5c04.0", O_RDONLY) = 4

que é onde meus certificados são armazenados.

    
por 07.03.2013 / 15:33
12

Deve haver um programa 'curl-config' no curl's 'bin /', ou seja, onde o binário 'curl' reside.

./ curl-config --ca

fornece o caminho de instalação do pacote do CA.

Acabei de fazer um whatis curl-config: "Obter informações sobre uma instalação libcurl", então acho que só estará disponível se o libcurl foi instalado, o que eu presumo ser padrão.

    
por 24.08.2015 / 15:17
5

Encontrei uma maneira fácil: use o --cacert com um nome de arquivo errado , a saída mostrará o caminho.

Exemplo:

~$ curl --cacert non_existing_file https://www.google.com
curl: (77) error setting certificate verify locations:
  CAfile: non_existing_file
  CApath: /etc/ssl/certs
    
por 25.05.2016 / 14:41
1

você pode fazer o download do pacote de Certificados raiz da CA em haxx.se , que são os criadores da onda. em seguida, basta anexar seu certificado em seu .pem e consultá-lo ao usar o curl com a opção --cacert

    
por 15.08.2015 / 18:19
0

O local do pacote padrão da CA é dependente do sistema operacional. 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.

    
por 07.03.2013 / 14:58
0

-v com https na URL.

$ curl -v https://google.com
* Rebuilt URL to: https://google.com/
* timeout on name lookup is not supported
*   Trying 172.217.9.174...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0* Connected to google.com (172.217.9.174) port 443 (#0)
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* successfully set certificate verify locations:
*   *CAfile: C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt*
    
por 12.10.2017 / 23:21