O OpenSSL não seleciona CAs na pasta certs por padrão

1

No Ubuntu 12.04 LTS, estou recebendo um erro de erro de validação de certificado se o caminho do caminho não for definido explicitamente

Tentei várias soluções. Mas nada funciona. Está causando muito problema para instalar novos pacotes no meu sistema (tentei pelo menos dois sistemas)

Comando bem-sucedido:

openssl s_client -connect secure.ogone.com:443 -showcerts -CApath /etc/ssl/certs/ 

Success with Verify return code: 0 (ok) 

Comando sem sucesso

openssl s_client -connect secure.ogone.com:443 -showcerts 

Failed with Verify return code: 20 (unable to get local issuer certificate)

Eu tentei seguir a solução com base nas respostas do wiki, mas também não está funcionando

openssl x509 -noout -hash -in /etc/ssl/certs/GeoTrust_Global_CA.pem 2c543cd1    
openssl x509 -noout -subject_hash_old -in /etc/ssl/certs/GeoTrust_Global_CA.pem 7999be0d    
openssl x509 -noout -subject_hash -in /etc/ssl/certs/GeoTrust_Global_CA.pem 2c543cd1

Eu posso ver a diferença nos valores de hash

Eu tentei adicionar um script para criar um link simbólico com -subject_hash_old e -subject_hash .

Mas o problema continua a acontecer e recebo o código de erro Verify return code: 20 (unable to get local issuer certificate) .

#!/bin/sh
Create following script to create symbolic links in /etc/ssl/certs
Link with subject_hash_old and subject_hash is successfully created


for FILE in /etc/ssl/certs/*.pem
do
   hasholdsub='openssl x509 -noout -subject_hash_old -in $FILE'
   hashsub='openssl x509 -noout -subject_hash -in $FILE'

   echo $hasholdsub $hashsub

   ln -s $FILE  $hasholdsub.0
   ln -s $FILE  $hashsub.0
   cat  $FILE >> ca-certificats-gen.crt
done

Mas esse problema ainda existe

Por favor, ajude a resolver o problema.

    
por Manoj Jain 19.08.2014 / 08:30

1 resposta

1

Tente usar -CAfile em vez de -CApath e aponte para o arquivo de certificados de CA único concatenado. Por exemplo:

openssl s_client -connect secure.ogone.com:443 -showcerts \
                 -CAfile /etc/ssl/certs/ca-certificates.crt

Isso funciona para mim, mostrando verify return:1 e uma cadeia completa de certificados.

Informações de segundo plano: esse /etc/ssl/certs/ca-certificates.crt é gerenciado pelo comando update-ca-certificates , simplesmente concatenando todos os certificados instalados em todo o sistema, incluindo aqueles instalados manualmente em /usr/local/share/ca-certificates/ .

    
por gertvdijk 21.11.2014 / 12:39