¿Qué contraseña usa el servidor OSX al importar certificados SSL?

Estoy migrando mi sitio web de mi servidor OSX doméstico a un servidor Linux virtual, alojado en un centro de datos adecuado, y tengo un problema con los certificados SSL que importé al servidor OSX.

Parece haber almacenado los certificados, /etc/certificatessin embargo, no sé la frase de contraseña que usó para cifrar el archivo clave. No es mi cuenta normal/contraseña de llavero, por lo que no tengo idea de qué frase de contraseña elegí en ese momento.

(He intentado obtener los certificados SSL originales, pero tampoco está resultando tan fácil, pero podría ser mi única esperanza).

¿Podría alguien decirme cómo funciona esto para poder desenredarme y usar los certificados en el nuevo sitio web, por favor?

Respuestas (2)

El "certificado" en sí mismo no está encriptado. Su clave privada, que se usa con el certificado, generalmente está encriptada. Está encriptado con la frase de contraseña que eligió cuando creó la clave privada. Es posible que lo haya hecho un tiempo antes de crear este certificado específico, si tiene varios certificados, así que asegúrese de probar "contraseñas antiguas" si las tiene.

Si no puede recordar la frase de contraseña de su clave privada, no tiene suerte. Ya no podrá usar ese certificado específico. El emisor del certificado no podrá proporcionarle una copia de la clave privada, ya que no la tiene.

Por lo general, podrá revocar su certificado existente y hacer que su emisor le dé uno nuevo, dependiendo de su emisor, eso podría tener un cargo.

Como puede comprar nuevos certificados SSL por menos de $ 10 hoy, puede que no valga la pena intentar que el antiguo funcione. Solo compra uno nuevo.

+1 Bien, ha confirmado que la frase de contraseña fue elegida por mí y no por el sistema. Eso me dará algo con lo que trabajar.
Bien problema resuelto. Encontré una copia en una copia de seguridad que tenía, que estaba desbloqueada. Entonces, es extraño cómo OSX Server lo bloqueó usando una frase de contraseña que proporcioné, que desde entonces he olvidado. Eso normalmente no me pasa :-$

Parece que el problema de OP se resolvió, pero para que conste, en realidad es bastante fácil obtener las claves de OS X Server, siempre que tenga acceso de administrador al servidor. Te doy dos formas de hacerlo:

  1. Ejecute la utilidad de Acceso a Llaveros en el servidor, seleccione "Sistema" de la lista de Llaveros, luego "Mis Certificados" de la lista de Categoría debajo de eso. Seleccione el certificado correspondiente en el lado derecho de la ventana, luego, en el menú Archivo, seleccione "Exportar elementos". En el cuadro de diálogo de exportación, asegúrese de que el formato de archivo esté configurado en "Intercambio de información personal (.p12)" para exportar tanto la clave privada y (público) certificado Le pedirá su nombre de administrador y contraseña para obtener acceso al llavero, luego le pedirá una nueva contraseña para cifrar el archivo exportado.

  2. El certificado y la clave privada asociada también se almacenan (como dijiste) en /etc/certificates. Asegúrese de obtener tanto el certificado (nombre de archivo que termina en ".cert.pem") como la clave privada correspondiente (".key.pem"); es posible que también necesite la cadena de certificados ("chain.pem"), que incluye su certificado y los certificados de respaldo que garantizan su autenticidad.

    El archivo de clave privada se cifrará con una contraseña generada aleatoriamente. Ningún problema; para que los servicios del servidor usen esta clave, su contraseña se almacena (en el llavero del sistema, en realidad) en una forma recuperable. Con derechos de administrador, puede recuperarlo de la misma manera que lo hace el servidor web. Use este comando (reemplazando server.example.com con el nombre de dominio real):

    sudo /Library/Server/Web/Config/apache2/getsslpassphrase server.example.com:443 RSA
    

    Requerirá su contraseña de administrador, luego escupirá lo que parece un GUID. Esa es la contraseña de cifrado para el archivo .key.pem.

    (Nota: en versiones anteriores de OS X Server, getsslpassphrase estaba en /etc/apache2/ en lugar de /Library/Server/Web/Config/apache2/. Ajuste según sea necesario).