¿Generando una solicitud de firma de certificado para un servidor web Apache en un subdominio?

1

Estoy leyendo las instrucciones para generar un CSR , y lee que:

  

"Reemplace su dominio con el nombre de dominio que está protegiendo. Por ejemplo,   si su nombre de dominio es coolexample.com, escribiría coolexample.key   y coolexample.csr. "

Me doy cuenta de que esto es solo los nombres de archivos que leerá mi servidor, pero para cumplir con la convención, si estoy asegurando un solo servidor y no un dominio completo, entonces incluiría el nombre de host en el nombre de La clave privada y el csr?

    
pregunta leeand00 20.11.2015 - 21:56
fuente

2 respuestas

1

Por lo que vale:

Esto es lo que hago:

La cadena de confianza para enlace que incluye el certificado de entidad final y el certificado de CA raíz tiene 3 certificados. Y los nombraría como tales:

  • 0.example.com.cer
  • 1.intermediate.cer
  • 2.root.cer

¿Por qué? Porque entonces una lista de directorios les da en el orden correcto de inmediato. Y .cer es la extensión de archivo predeterminada de Windows.

Y para la clave:

  • 0.example.com.key

Y para la solicitud:

  • 0.example.com.req

¿Por qué no .csr ? Porque la CA de Windows quiere .req y las CA de Unix / Linux no tienen ningún problema. Así que REQ es.

¿Subdominio en nombre o no?

Incluye lo que te hace más fácil recordar. "example.com" en realidad no es el CommonName para ese certificado. Eso habría sido www.example.org . Y todavía elegí ir con el nombre example.com, porque es lo que mejor recuerdo de ese sitio.

Así que si te importa, si eso te ayuda a mantener las cosas separadas, inclúyelo.

    
respondido por el StackzOfZtuff 20.11.2015 - 22:19
fuente
0

El nombre y la extensión no son realmente importantes. Lo que importa para firmar su servidor web es el nombre común y nombre alternativo del sujeto (SAN) . Puede especificar su nombre de host de servidor web, FQDN, alias (www.hostname) y dirección IP pública (no recomendado).

La SAN se puede especificar utilizando un método diferente, en Microsoft CA, puede especificarla mientras pega el contenido de CSR en la interfaz web.

En"atributos adicionales", escriba:

san:dns=dns.name[&dns=dns.name]

e.q. san: dns = yourwebserv & dns = www.yourwebserv & dns = yourwebserv.domain.tld

Personalmente uso un archivo de configuración, especifico "subjectAltName" y genero mi CSR usando este comando:

openssl req -new -nodes -out certificate_b64.cer -keyout private.key -config <Config file>

Archivo de configuración:

[ req ]
default_md = sha512
default_bits = 2048
default_keyfile = private.key
distinguished_name = req_distinguished_name
encrypt_key = no
prompt = no
string_mask = nombstr
req_extensions = v3_req
input_password = <password>
output_password = <password>

[ v3_req ]
basicConstraints = CA:false
keyUsage = digitalSignature, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth, clientAuth
subjectAltName = DNS:<hostname>, IP:<OptionalIP>, DNS:<serverFQDN>

[ req_distinguished_name ]
countryName = <AU>
stateOrProvinceName = <ServerCounty>
localityName = <ServerTown>
0.organizationName = <organizationName >
organizationalUnitName = <organizationalUnitName >
commonName = <ServerFQDN>

Es bastante confuso ya que puede encontrar todo tipo de formatos diferentes para el material SSL (CSR, Certificado, Clave Privada)

La base común es la siguiente, para obtener un certificado firmado (que es su objetivo) para usar en su servidor web, debe:

  • Genera o importa un CSR. Al generar una CSR, se crea una clave privada (utilizada para descifrar)

  • Envíe este CSR (texto sin formato) a una Autoridad de certificación (CA)

El archivo puede tener cualquier extensión y cualquier nombre, puede enviarlo a la CA o abrirlo con un editor de texto, copiar y pegar su contenido en la Interfaz Web de la CA.

  • Recupere el certificado de su CA e implementarlo para su servidor web. (usado para cifrar)

Una vez que haya enviado su CSR, puede eliminar el archivo porque no sirve para nada y todo lo que necesita su servidor web son certificados (su certificado + CA intermedio + CA raíz, llamado cadena de certificados) y una clave privada.

Su servidor web necesita saber qué / dónde está la clave privada y qué / dónde está el certificado para que pueda depender de las extensiones y deba guardarse en una ubicación específica, en un formato específico. Lo referiría a la documentación de su servidor web (Nginx, Apache, IIS?) Para averiguarlo.

Finalmente, GoDaddy le explica cómo generar una CSR y una clave privada, pero a veces su servidor web o dispositivo puede hacer esto por usted a través de una GUI, y todo lo que necesita hacer es descargar un CSR (Importar) y enviarlo a tu CA.

A continuación encontrará un enlace que explica los diferentes formatos SSL y cómo verificar / convertir el material SSL: enlace

    
respondido por el Florian Bidabe 20.11.2015 - 23:27
fuente

Lea otras preguntas en las etiquetas