openssl - 교차 서명 인증서

openssl - 교차 서명 인증서

third-party-ca내 루트 CA( )와 타사 루트 CA( )를 교차 서명하고 싶습니다 r1. (배경:사용 제한)

이를 위해 나는 다음을 사용합니다.

openssl x509-in third-party-ca.crt -CA /etc/pki/r1/ca.crt -CAkey /etc/pki/r1/private/ca.key -out third-party-ca-cross-signed.crt -set_serial 1000

이는 작동하지만 을 Authority Key Identifier(를) 유지하므로 을 (를) third-party-ca로 변경해야 합니다 . (실제 예를 보려면 letsencrypt를 참조하세요.Subject Key Identifierr1ISRG X1 교차 서명됨~에 의해DST 루트 CA X3)

및를 사용 Authority Key Identifier하여 다른 것을 추가할 수 있습니다 . 그러나 결과적으로는 2개가 됩니다 .akiext-extfile akiextAuthority Key Identifier

기존 을 어떻게 교체할 수 있나요 Authority Key Identifier?

답변1

명령줄 에서는 openssl x509확장 프로그램을 선택적으로 삭제할 수 없습니다. 당신은 -clrext드롭하는 데 사용할 수 있습니다모두확장을 입력하고 -extfile원하는 기존 확장에서 구성합니다(최소 BC 및 KU)....을 더한새로운 것. 링크한 것과 같은 공개 하위 또는 교차 CA 인증서에는 AKI뿐만 아니라 AIA 및/또는 CRLDP가 포함될 수 있습니다.모두그 중 귀하가 교체하는 발급자/모회사에 대해서만 정확하므로 교체(또는 제거)해야 합니다.

또는 코드를 작성할 수도 있습니다. 이것을 사용하여API간단합니다. 하지만 그것은 아마도 SO에 속하거나아마도여기 대신 security.SX를 사용하세요. (그리고 당신은 그 일의 일부를 하게 될 것으로 예상됩니다.)

특정 예에서 ISRG Root X1은 Identrust DST X3와 교차 서명된 두 가지 모두에서 사용할 수 있습니다.뿌리로서-- 루트 인증서에서 시작하면 AKI가 없습니다.또는제거해야 하는 AIA/CRLDP입니다.

업데이트:후속 관련 질문OpenSSL 3.0.0은 루트가 아닌 입력 사례를 허용하지 않습니다. 자체 서명된 이전 인증서(루트)가 필요합니다. 소스의 설명은 이전에 효과적으로 시행되지는 않았지만 항상 의도된 것임을 나타냅니다.

관련 정보