체인에 3 개의 인증서가 있습니다.
- root.pem
- intermediate.pem
- john.pem
그것들을 사용하여 검사 할 때 openssl x509 -in [filename] -text -noout
root.pem은 자체 서명 된 것처럼 보이며 (Issuer == Subject) 각 인증서의 주제는 예상대로 다음 인증서의 발급자입니다.
실제로 중간 인증서까지 체인을 확인할 수 있습니다.
$ openssl verify -CAfile root.pem root.pem
root.pem: OK
$ openssl verify -CAfile root.pem intermediate.pem
intermediate.pem: OK
그러나 john.pem은 실패합니다.
$ openssl verify -CAfile root.pem -CAfile intermediate.pem john.pem
john.pem: C = CL, [...redacted data...]
error 2 at 1 depth lookup:unable to get issuer certificate
내가 아는 한, 이것은 openssl이 intermediate.pem의 발급자를 찾을 수 없음을 의미합니다. root.pem은 실제로 intermediate.pem의 발급자이므로 의미가 없습니다.
내가 무엇을 놓치고 있습니까?
편집 : 원래 root.pem과 intermediate.pem을 하나의 파일로 연결해야한다는 대답을 게시 한 다음이 파일을에 대한 매개 변수로 사용해야합니다 -CAfile
. Johannes Pille이 지적했듯이 이것은 묵시적으로 intermediate.pem을 신뢰하기 때문 입니다. 그가 삭제 한 답변에 게시 한 링크를 읽으십시오 : https://mail.python.org/pipermail/cryptography-dev/2016-August/000676.html