openssl 업그레이드 | 인증서 유효성 검사 실패

openssl 업그레이드 | 인증서 유효성 검사 실패

저는 CentOS7 시스템에서 작업 중이며 시스템의 openssl 버전을 1.0.2k -> 1.1.0l로 업그레이드하려고 합니다. 업그레이드 후 내 서버(변경되지 않음)와의 핸드셰이크 프로세스가 실패한 것 같아서 원인을 알아내려고 노력 중입니다.

두 openssl 버전 모두에서 다음 명령을 실행합니다.

openssl s_client -showcerts -서버 연결:포트

최신 버전에서는 실패가 발생했습니다(-CAfile 유효성 검사를 제공하면 둘 다에서 작동합니다). 결과의 차이점:

이전 1.0.2k(핸드셰이크 성공):

서버 임시 키: ECDH, P-256, 256비트 신규, TLSv1/SSLv3, 암호는 ECDHE-RSA-AES128-GCM-SHA256 신규 1.1.0l(핸드셰이크 실패):

서버 임시 키: X25519, 253비트 신규, TLSv1.2, 암호는 ECDHE-RSA-AES128-GCM-SHA256입니다. 반환 코드 확인: 20(로컬 발급자 인증서를 얻을 수 없음) 차이점과 그 이유를 이해하는 데 도움을 주시면 감사하겠습니다. 그들은 다르다.

참고로 저는 여기서도 비슷한 위협을 시작했습니다. https://stackoverflow.com/questions/68763253/openssl-upgrade-fail-validating-certificate?noredirect=1#comment121583146_68763253 별 행운 없이.

감사해요 :)

답변1

Centos 7에서는 다음 명령을 사용하여 이 문제를 해결할 수도 있습니다.

#Prepare to compile
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm -y
yum groupinstall -y "Development Tools" "Development Libraries"

#Build from source
cd /usr/src
# --no-check-certificate because of that issue, your system will not validate letsencrypt certificate at openssl.org until finish update
wget --no-check-certificate https://www.openssl.org/source/openssl-1.1.1l.tar.gz
tar -zxf openssl-1.1.1l.tar.gz
cd openssl-1.1.1l
./config
make
make install

yum install ca-certificates -y 

답변2

나중에 참조할 수 있도록 여기에 솔루션을 추가하세요.

openssl 버전 > 1.0.2k로 작업을 시작하면~에centos7 시스템에서는 루트 확인 경로에 동작 변화가 있는 것 같습니다.

Openssl은 미리 정의된 인증서 저장소 위치 목록을 거치지만 /val/ssl에서 cert.pem 파일을 발견하면 이를 테스트하고 원격 유효성을 검사할 수 없으면 실패합니다.

나의 "좋은" 인증서는 /etc/ssl에 있었고 그것은 클라이언트의 기계였기 때문에 그에게 /var/ssl 파일을 제거하라고 요청할 수 없었습니다.

내 해결책은 openssl이 실패할 경우를 대비하여 프로그래밍 방식으로 올바른 cert.pem을 선택하는 것이었습니다(금지된 시스템의 openssl 버전을 변경하지 않고).

관련 정보