여러 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가 서명하도록 하세요.