Punto de distribución de CRL con varios nombres

Punto de distribución de CRL con varios nombres

Me gustaría crear un certificado con un punto de descripción CRL, que contenga varias URL (que apuntan a la misma CRL, según RFC 5280):

Cuando OpenSSL analiza dicho certificado, muestra algo como esto:

            X509v3 CRL Distribution Points: 

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

¿Cómo crear dicho certificado yo mismo, preferiblemente usando openssl?

Respuesta1

Para definir una SECUENCIA de GeneralNames, debe definir crlDistributionPoints en su configuración de OpenSSL usando el formato completo:

crlDistributionPoints = cdp1

...

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

Que aparece como:

        X509v3 CRL Distribution Points:

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

Un ejemplo completo comenzaría creando un archivo de configuración (por ejemplo 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

Utilice la configuración para generar una Solicitud de firma de certificado (CSR):

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

Tenga en cuenta que lo anterior crea una clave RSA de 2048 bits sin protección con contraseña. Elimine -nodessi necesita proteger con contraseña la clave privada.

Haga que una CA firme el CSR generado anteriormente.

información relacionada