azure - generar - Cómo crear un archivo csr para la aplicación web azul
generar archivo csr linux (5)
Necesito crear un archivo csr para dárselo a alguien.
El archivo csr es para un certificado SSL para una aplicación web azul.
Cuando busco en google, encuentro información inconsistente sobre dónde generar el archivo csr.
Algunas fuentes dicen: Tengo que crear el archivo csr en el servidor que ejecuta la aplicación web.
En mi caso el servidor en azure es desconocido. No puedo correr nada allí ...
¿O está bien crear el csr en mi PC local con todos los datos de la compañía + el tema completado con el dominio personalizado?
Digicert tiene una herramienta e instrucciones claras sobre cómo crear el certificado para un sitio de Azure.
https://www.digicert.com/csr-creation-ssl-installation-windows-azure-website.htm
En lugar de hacerlo manualmente, una opción es buscar a través de los servicios adicionales el "Servicio de Certificado de Aplicaciones" que le proporcionará un asistente para comprar un certificado SSL y luego vincularlo a su aplicación. Es mucho más simple y rápido que generar un CSR a mano, y también es mucho menos confuso. La documentación era detallada y no estaba muy claro si debíamos o no estar alejados del servidor y generar el CSR allí, etc., así que sugiero hacerlo a través del Servicio de Certificación de Aplicaciones.
Otros han proporcionado información valiosa sobre esos hechos:
- Que puede (y en el caso de la aplicación web de Azure, básicamente, tiene que) generar la CSR en una máquina diferente, que el servidor de destino (el que usará el certificado).
- Herramientas, que puede utilizar para generar el CSR (por ejemplo, openssl, la utilidad DigiCert).
- Una forma alternativa de obtener un certificado para la aplicación web de Azure (Servicio de certificados de la aplicación de Azure).
Tal vez me esté perdiendo algo, pero no veo respuestas en:
- ¿Por qué querría (o incluso debería) generar la CSR en la máquina de destino?
- ¿Por qué no tienes que hacerlo?
Mi enfoque para responder a estas dos preguntas, comenzaría con el hecho de que generar CSR es en realidad un proceso que produce dos artefactos, donde la parte obvia, la solicitud de certificado, es probablemente la menos importante para este asunto. El más importante, que también tiene que aparecer primero, es el par de claves RSA que se genera, donde la parte pública del par se usa en la solicitud de CSR, y la privada es la parte crucial de todo el objetivo de usar el certificados
Aunque el par de claves generalmente se genera utilizando datos de entropía basados en el hardware, por lo que es específico de la máquina que está utilizando, el resultado (el par de claves) se puede usar en cualquier lugar, ya que los valores de las claves solo están matemáticamente vinculados entre sí. El contenido de CSR se basa en la clave pública y el tema del certificado solicitado, por lo que, de nuevo, no hay nada allí que no se pueda utilizar en ningún otro lugar. Esto explica por qué no hay una limitación técnica para generar la CSR (y las claves) en una máquina / servicio diferente a la que realmente la usará, por lo que se aborda la pregunta número 2.
La respuesta a la pregunta número 1 proviene de la característica crucial de la clave privada, que se genera en el proceso. Esta característica crucial es que debe permanecer en privado. Lo ideal es que sea el único usuario de la identidad del certificado que pueda usarlo. Ese "usuario" sería el servicio de destino (el servidor web). Cuando genera la clave en otro lugar, es responsable de protegerla en ese entorno y en tránsito hacia el destino. Esto es a menudo un riesgo innecesario. La solución sugerida a menudo es generar la clave en el certificado / almacén de claves de destino, con protección de clave privada, lo que evita que la clave privada se extraiga (exporte) de la tienda. Incluso el servicio de destino (servidor web) en realidad no podrá extraerlo / leerlo (pero podrá usarlo). Como el par de claves se genera en el proceso de creación de CSR, esto significa que este proceso debe ejecutarse donde está ese almacén, y por esas características de la tienda. Esto debería responder a esta pregunta. Como nota al margen, tanto la herramienta DigiCert como la interfaz de usuario del administrador de IIS están usando los almacenes de certificados de Windows, que agregan una capa de protección para la clave privada, pero marcan la clave como exportable, lo que permite la extracción de la clave. La herramienta OpenSSL (en Windows) genera la clave fuera de las tiendas de certificados de Windows (como archivos), por lo que puede acceder a ella fácilmente, lo que no es tan seguro.
He encontrado este artículo: https://www.namecheap.com/support/knowledgebase/article.aspx/9854//how-to-generate-a-csr-code-on-a-windowsbased-server-without-iis-manager , que menciona 3 formas / herramientas adicionales para generar la CSR, donde la primera (mediante el uso del complemento Certificados en Microsoft Management Console) le permite marcar la clave privada como no exportable.
Por supuesto, en su caso, la capacidad de tomar (por ejemplo, exportar) la clave privada es crucial, ya que tiene que generar el CSR en otro lugar, ya que el almacén de certificados de la aplicación web de Azure no tiene actualmente ninguna función que permita generar el CSR.
Puede crear un archivo cer con la ayuda de la herramienta Certreq.exe o OpenSSL.
Para obtener más detalles, consulte la documentación oficial sobre cómo habilitar HTTPS para una aplicación en el Servicio de aplicaciones de Azure .
openssl está instalado en la consola, puede generar los archivos allí. Tendrá que especificar todas las configuraciones necesarias en el comando original para openssl porque se supone que le hará preguntas pero no funciona en la actualidad. Así que algo como esto:
openssl req -new -newkey rsa:2048 -nodes -out yoursite_com.csr -keyout yoursite_com.key -subj "/C=US/ST=California/L=San Francisco/O=Your Site Inc./OU=Engineering/CN=yoursite.com"
una vez que tenga su csr, no podrá abrirlo desde la consola, tendrá que utilizar Kudu (haga clic en Herramientas avanzadas) para abrir el archivo y copiar el contenido.