다른 호스트에서 이미 신뢰된 x509 인증서 신뢰

다른 호스트에서 이미 신뢰된 x509 인증서 신뢰

두 개의 호스트가 있습니다. 하나는 Debian Buster를 사용하고 다른 하나는 CentOS 7을 사용합니다.

SSL을 통해 SMTP 서버에 연결하고 싶습니다. 하지만 CentOS에서만 이 작업을 수행할 수 있습니다.

CentOS:

$ openssl s_client -connect smtp.server.com:587
CONNECTED(00000003)
depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3
verify return:1
depth=1 C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
verify return:1
depth=0 CN = server.com
verify return:1
---
Certificate chain
 0 s:/CN=server.com
   i:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
---
...

더반:

$ openssl s_client -connect smtp.server.com:587
CONNECTED(00000003)
depth=0 CN = server.com
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=0 CN = server.com
verify error:num=21:unable to verify the first certificate
verify return:1
---
Certificate chain
 0 s:CN = server.com
   i:C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
---

문제는 Debian 호스트에 Let's Encrypt 인증서가 없거나 이를 신뢰하지 않는 것 같습니다.

한 시스템에서 다른 시스템으로 신뢰를 "전송"하는 방법은 무엇입니까? 즉, 모두가 동일한 인증서를 신뢰하는지 어떻게 확인합니까?

답변1

CA 인증서 패키지 설치

먼저 루트 CA 인증서 패키지가 Debian 컴퓨터에 설치되어 있는지 확인해야 합니다.

달리기:

$ apt list --installed 2>/dev/null | grep ca-certificates

[installed]출력이 줄 끝에 있으면 설치되었지만 패키지에 루트 CA 인증서가 없다는 의미입니다. 다음 섹션으로 건너뛰세요.

명령이 아무것도 출력하지 않으면 다음 명령을 사용하여 CA 인증서를 설치해야 합니다.

$ sudo apt install ca-certificates

이 시점에서 명령을 다시 테스트하십시오.

그래도 실패하면 다음과 같이 루트 CA 인증서를 수동으로 추가해야 합니다.

트러스트 앵커 저장소에 루트 CA 인증서 추가

당신이 읽었다면여기올바른 루트가 있음을 알 수 있습니다.ISRG 루트 X1을 암호화하자. 발급 CA를 암호화하자(권한을 암호화하자 X3)은 위 기관의 서명을 받았으며 Identrust의 루트 CA가 교차 서명하여 이전 시스템과의 호환성을 향상시켰습니다. 귀하의 CentOS 컴퓨터는 후자를 사용하고 있지만 내년에 출시될 예정이므로 데비안 컴퓨터에 설치할 가치가 없습니다.

데비안 머신을 작동시키려면 다운로드하세요.ISRG 루트 X1을 암호화하자위 링크에서 데비안 시스템에 저장하세요(예 ISRG_Root_X1.pem: )/usr/local/share/ca-certificates/

계속하기 전에 제가 제공하는 링크가 실제(Let's Encrypt 사이트)이고 보안(HTTPS)인지, 가짜 루트 CA 인증서를 설치하도록 유도하려는 것이 아닌지 확인하시기 바랍니다.

이제 다음을 실행하세요.

$sudo update-ca-certificates

신뢰 저장소에 새 인증서를 추가하십시오.

Identrust 루트 CA 인증서를 실제로 사용하려면 다음에서 다운로드할 수 있습니다.여기. 이것이 페이지의 마지막 링크입니다.

명령을 다시 시도해보세요. 제대로 작동하길 바랍니다.

SMTP 서버 구성 오류

그래도 실패하면 SMTP 서버가 TLS 핸드셰이크의 일부로 인증서 체인을 보내는지 확인해야 합니다. 일반적으로 서버 관리자는 최종 엔터티 인증서만 구성하고 CA 체인은 무시합니다. -showcertsDebian 상자의 명령에 추가 하고 모든 인증서(PEM 형식)가 표시되는지 확인합니다.

누락된 경우 서버 관리자에게 연락하여 (친절하게) 서버를 올바르게 구성하도록 요청하세요.

관련 정보