Problema de certificado SSL: impossível obter certificado de emissor local

3

Estou tendo um pequeno initramf com busybox estático. O único propósito deste initramfs é fazer o download / upload de arquivos para o servidor HTTPS.

Eu tenho o certificado e as credenciais adequados para fazer isso. Mas quando eu executo o comando:

curl --cacert /tmp/filename.pem -T /tmp/file_to_upload -u user:pass https://Server_name/

Eu cumprimentei com um erro:

curl: (60) SSL certificate problem: unable to get local issuer certificate

Se eu usar o mesmo comando com o mesmo certificado no Ubuntu, tudo corre bem.

Como devo resolver este problema?

EDIT: Eu não quero usar "-k" ou "--insegure" mudar

NOTA: Eu não tenho o diretório openssl ou / etc / ssl no initramfs

    
por SHW 26.05.2016 / 13:30

1 resposta

2

Como você não tem o / etc / ssl, aconselho adicionar a opção curl -k ao seu comando.

-k, --insecure
(SSL) This option explicitly allows curl to perform "insecure" SSL connections and transfers. All SSL connections are attempted to be made secure by using the CA certificate bundle installed by default. This makes all connections considered "insecure" fail unless -k, --insecure is used.

Por sua edição de não querer -k, outra opção é criar / etc / ssl / certs e adicionar o (s) certificado (s) raiz (es) subjacente (s) à cadeia de confiança do seu certificado. No entanto, para que funcione, você precisa ter o openssl instalado ou um arquivo de configuração /etc/ssl/openssl.cnf mínimo.

Uma terceira opção pode ser apenas concatenar para "filename.pem" todos os certificados necessários para completar a cadeia de confiança na ordem de importância (ou seja, se houver CAs intermediárias, a CA raiz será a última). Ele funciona em algumas configurações de software (Apache, FreeRadius, nunca tentou com o curl).

    
por 26.05.2016 / 13:52