Acabo de solicitar un CSR de mi proveedor de alojamiento web compartido, para generar un certificado que les enviaré para que lo instalen. (El certificado en sí mismo debe ser generado correctamente por una organización para la que trabajo que pueda proporcionar certificados para nuestro uso oficial). ¡La compañía de alojamiento me envió rápidamente el CSR pero también la clave privada! Incluso hicieron un CC a otra persona, y está en Gmail, por lo que Google probablemente ya lo ha ingerido con fines publicitarios.
En mi humilde opinión, esto parece algo terrible de hacer. Estoy a punto de responderles rechazando este, y le pido que renueve la CSR y esta vez mantenga la clave privada: privada.
Antes de hacer el ridículo, me gustaría confirmar que la clave privada para un certificado "SSL" (TLS) nunca debe abandonar el servidor.
He estado trabajando en industrias relacionadas con la seguridad durante muchos años y solía ser un programador criptográfico, así que creo que conozco un poco el tema, pero sé que las cosas cambian con el tiempo.
He leído esta pregunta relacionada: Qué problemas surgen al compartir la clave privada de un certificado SSL ?
Meta Update: Me he dado cuenta de que he escrito un formato de pregunta de mala calidad para Stack Exchange, ya que ahora es difícil aceptar una respuesta específica. Disculpas por eso, todas las respuestas cubrieron aspectos diferentes e igualmente interesantes. Inicialmente, me pregunté cómo redactarlo para ese propósito, pero quedé en blanco.
Actualización: aunque he seguido esto con el anfitrión, ellos se "disculparon por cualquier inconveniente", prometieron mantener a salvo las futuras claves privadas y me enviaron un nuevo y diferente CSR. Si se genera a partir de la misma clave privada expuesta de la que actualmente no estoy seguro. Ahora también me pregunto, ya que es un host compartido, si me han enviado la clave para todo el servidor o si cada cliente / dominio / host virtual obtiene un par de claves.
Es una lección interesante sobre cómo toda la fuerza de criptografía en el mundo puede quedar nula y sin efecto por un simple error humano. Kevin Mitnik estaría asintiendo.
Actualización 2: En respuesta a una respuesta del usuario @Beau, he usado los siguientes comandos para verificar que el segundo CSR se generó a partir de una clave privada secreta diferente.
openssl rsa -noout -modulus -in pk1.txt | openssl md5
openssl req -noout -modulus -in csr1.txt | openssl md5
openssl req -noout -modulus -in csr2.txt | openssl md5
Los dos primeros hashes son idénticos, el tercero es diferente. Así que esas son buenas noticias.