OpenSSL이 기본적으로 인증서 폴더에서 CA를 선택하지 않음


2

Ubuntu 12.04 LTS에서 CApath가 명시 적으로 설정되지 않은 경우 인증서 유효성 검사 오류에 대한 오류가 발생합니다

몇 가지 해결책을 시도했습니다.그러나 아무것도 작동하지 않습니다.시스템에 새 패키지를 설치하는 데 너무 많은 문제가 발생합니다 (최소한 두 개의 시스템에서 시도)

성공적인 명령 :

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

Success with Verify return code: 0 (ok) 

실패한 명령

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

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

위키 응답을 기반으로 다음 해결책을 시도했지만 작동하지 않습니다

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

해시 값의 차이를 볼 수 있습니다

-subject_hash_old-subject_hash과의 심볼릭 링크를 만들기 위해 스크립트를 추가하려고했습니다.

그러나 문제가 계속 발생하고 오류 코드 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

그러나이 문제는 여전히 존재합니다

문제 해결을 도와주세요.

2

Please try using -CAfile instead of -CApath and point to the single concatenated CA certificates file. E.g.:

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

This works for me, showing verify return:1 and a full certificate chain.

Background information: This /etc/ssl/certs/ca-certificates.crt is managed by the update-ca-certificates command, simply concatenating all system-wide installed certificates, including those manually installed in /usr/local/share/ca-certificates/.