===== OpenSSL: Crear / Firmar solicitudes CSR con múltiples dominios (Subject Alternative Names) ===== * Para crear un CSR se da por sentado que se tiene una clave privada. * Para firmar un CSR se da por sentado que se tiene todo lo pertinente para ser una CA: un certificado público (autofirmado) y una clave privada. Hay muchos tutoriales en la red para crear una CA con openSSL. NOTA: También es posible no hacerlo mediante una CA y especificar varios dominios para un certificado autofirmado. Un ejemplo está en la guía de [[comandos_openssl_utiles_para_certificados|Comandos openssl útiles]]. **Crear el fichero de configuración con los dominios pertinentes (san.conf)**. [req] distinguished_name = req_distinguished_name req_extensions = v3_req prompt = no [req_distinguished_name] C = ES ST = Barcelona L = Barcelona O = Empresa OU = Departamento XX CN = dominio.com (Escribir aquí un dominio es irrelevante, los dominios serán siempre comprobados en [alt_names]) [v3_req] keyUsage = keyEncipherment, dataEncipherment extendedKeyUsage = serverAuth subjectAltName = @alt_names [alt_names] DNS.1 = www.dominio1.de DNS.2 = dominio2.com DNS.3 = subdominio0.dominios.net DNS.4 = www.dominio.4 NOTA: Recordar que si se escribe un dominio en el campo CN, este debe ser también escrito en la sección "[alt_names]". **Crear la solicitud CSR en base a la anterior configuración**. openssl req -sha512 -new -out solicitud.csr -key llave.key -config san.conf # Motrar el contenido del CSR: openssl req -text -noout -verify -in balance.csr # CSR Check online: [[https://www.networking4all.com/en/support/tools/csr+check/]] **Firmar una solicitud CSR con múltiples dominios (Subject Alternative Names).** openssl x509 -days 3650 -req -sha512 -in solicitud.csr -CAserial serial -CA cacert.pem -CAkey cakey.pem -out solicitud_firmada.crt -extensions v3_req -extfile san.conf **Lecturas recomendadas**. [[comandos_openssl_utiles_para_certificados]]