여러 이름을 가진 CRL 배포 지점

여러 이름을 가진 CRL 배포 지점

여러 URL(RFC 5280에 따라 동일한 CRL을 가리킴)을 포함하는 CRL 구별 지점이 있는 인증서를 만들고 싶습니다.

OpenSSL이 해당 인증서를 구문 분석하면 다음과 같은 내용이 표시됩니다.

            X509v3 CRL Distribution Points: 

                Full Name:
                  URI:http://addr1
                  URI:http://addr2
                  ...

가급적이면 openssl을 사용하여 이러한 인증서를 직접 만드는 방법은 무엇입니까?

답변1

GeneralNames의 SEQUENCE를 정의하려면 전체 형식을 사용하여 OpenSSL 구성에서 crlDistributionPoints를 정의해야 합니다.

crlDistributionPoints = cdp1

...

[cdp1]
fullname = URI:http://example.com/myca.crl,URI:http://example.org/my.crl

다음과 같이 표시됩니다.

        X509v3 CRL Distribution Points:

            Full Name:
              URI:http://example.com/myca.crl
              URI:http://example.org/my.crl

전체 예제는 구성 파일(예 example.cnf: )을 생성하여 시작됩니다.

[req]
prompt = no
distinguished_name = dn

[dn]
countryName = gb
organizationName = Example
commonName = Example Web Server

[ext]

subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid:always,issuer
keyUsage = critical, digitalSignature, keyAgreement
extendedKeyUsage = serverAuth
crlDistributionPoints = cdp1
subjectAltName = @alt_names

[cdp1]
fullname = URI:http://example.com/myca.crl, URI:http://example.org/my.crl

[alt_names]
DNS.1 = www.example.com
DNS.2 = www.example.org

구성을 사용하여 CSR(인증서 서명 요청)을 생성합니다.

 openssl req -newkey rsa:2048 -keyout example.key  -nodes -config example.cnf -out example.csr

위의 내용은 비밀번호 보호가 없는 2048비트 RSA 키를 생성합니다. -nodes개인 키를 암호로 보호해야 하는 경우 제거하십시오 .

위에서 생성된 CSR에 CA가 서명하도록 하세요.

관련 정보