Necesito ayuda para crear un certificado SSL con varios sujetoAltNames, firmado con mi propio certificado CA elaborado por mí mismo.
Lo que necesito:
Estoy en OSX 10.10.5
Tengo myCA.cer que uso para firmar otro certificado SSL que tiene los siguientes nombres alternativos:
(Aunque no estoy seguro si IP puede ser un nombre alternativo...)
DNS.1 = foo.bearden.local
DNS.2 = www.bearden.local
DNS.3 = 192.168.1.58
Necesito importar este certificado a mi iPhone que ya tiene myCA.cer. Así es como se verificará en el sistema operativo del iPhone.
Lo que hago:
Ejecuto este script de shell:
cat > ./cust.cnf <<-EOF
[req]
distinguished_name = req_distinguished_name
x509_extensions = v3_req
prompt = no
[req_distinguished_name]
CN = *.bearden.local/ CN=192.168.1.58
[v3_req]
keyUsage = keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names
[alt_names]
DNS.1 = foo.bearden.local
DNS.2 = www.bearden.local
DNS.3 = 192.168.1.58
EOF
openssl genrsa -out foo.key 2048 -config ./cust.cnf && \
openssl req -new -out foo.csr -key foo.key -config ./cust.cnf && \
openssl x509 -req -sha256 -in foo.csr -extfile ./cust.cnf -out foo.crt -CAkey myCA.key -CA myCA.cer -days 365 -CAcreateserial -CAserial serial
Problema/Pregunta:
1: el comodín en CN no funciona (Google Chrome todavía dice que no es de confianza, aunque configuré opciones de confianza total en el llavero)
2: cuando agrego el certificado al llavero (myCA.cer ya está allí), lo reconoce como válido y confiable, pero el certificado en sí (foo.crt) no tiene nombres DNS alternativos que mencioné en la configuración.
Ayúdenme a obtener mis múltiples nombres Alt DNS para este tipo de certificado.
¡gracias!
Respuesta1
Estos son los cambios que debería haber hecho para que funcione (Gracias a Steffen Ullrich):
openssl x509 -req -sha256 -in foo.csr -extfile ./cust.cnf -extensions v3_req -out foo.crt -CAkey myCA.key -CA myCA.cer -days 365 -CAcreateserial -CAserial serial
aquí está eldocumentación de opensslexplicando cómo funcionan las opciones -extfile
y-extensions