여기에 저장된 rsa 키, ca 번들 및 인증서가 올바른지 확인 / 확인하려고합니다. 웹 서버에서 제공하지 않습니다. 어떻게 확인할 수 있습니까?
여기에 저장된 rsa 키, ca 번들 및 인증서가 올바른지 확인 / 확인하려고합니다. 웹 서버에서 제공하지 않습니다. 어떻게 확인할 수 있습니까?
답변:
인증서가 PEM 형식이라고 가정하면 다음을 수행 할 수 있습니다.
openssl verify cert.pem
"ca-bundle"이 PEM 형식의 추가 중간 인증서를 포함하는 파일 인 경우 :
openssl verify -untrusted ca-bundle cert.pem
openssl이 설치된 루트 인증서 세트를 자동으로 사용하도록 설정되지 않은 경우 (예 : in /etc/ssl/certs
) CA를 사용 -CApath
하거나 -CAfile
지정할 수 있습니다 .
-CApath nosuchdir
server.crt와 cacert.pem의 조합에 루트 CA가 포함되어야합니다. openssl이 해당 파일이있는 중간 CA까지만 작동 할 수 있으면 불평합니다.
/certs/
. 이것이 문제를 일으킬까요? 내 서버가 작동하는 상황에서 메신저가 쌓여 있기 때문에 http curl은 작동하지만 https .. curl은 오류가 발생합니다. 웹 사이트가 작동을 멈춘 곳.
인증서 체인을 확인하는 하나의 라이너는 다음과 같습니다.
openssl verify -verbose -x509_strict -CAfile ca.pem -CApath nosuchdir cert_chain.pem
CA를 설치할 필요가 없습니다.
자세한 내용은 https://stackoverflow.com/questions/20409534/how-does-an-ssl-certificate-chain-bundle-work 를 참조하십시오.
-CApath nosuchdir
이것을 대답에 추가 했습니다. 감사합니다.
-CAfile
자체가 중간 인증서 인 경우 openssl이 불평합니다. verify
루트 CA까지 완전한 체인이 필요하지만 오해의 소지가 있기 때문에 이것은 올바른 동작 입니다.
OpenSSL 1.1.1 11 Sep 2018
)에는 인수가 -CApath
기존 디렉토리가되어야합니다.
openssl x509
매뉴얼 섹션.