ssl - test - "Certificado de clave pública y clave privada no coincide" cuando se utiliza el certificado emitido por GoDaddy
ssl godaddy tools (6)
Encontramos una solución alternativa a este problema. Estábamos teniendo los mismos síntomas con el mismo error.
Luego intentamos volver a ingresar los códigos de pem una vez más, pero esta vez nos aseguramos de presionar enter una vez y asegurarnos de que el cursor estaba en una línea en blanco al final de cada ventana. Entonces lo salvamos. FUNCIONÓ.
Esto resolvió nuestro problema, por lo que podría resolverlo para otros.
Intento instalar un certificado GoDaddy SSL en un nuevo equilibrador de carga que estoy configurando en Amazon AWS. Originalmente creé el certificado en Godaddy usando el programa keytool para la instalación directa en un servidor Glassfish 3.1 (Amazon linux ami). No tuve problemas para obtener esa configuración directamente en el servidor. Ahora necesito mover el certificado del servidor web al nuevo equilibrador de carga. Amazon requiere que la clave privada y los certificados estén en formato PEM, por lo que utilicé la herramienta "volver a escribir" en GoDaddy para crear nuevos certs. Cuando los carga en la pantalla de configuración del equilibrador de carga en AWS Mgmt Console, aparece el mensaje de error: "Certificado de clave pública y clave privada no coinciden".
Así es como estoy creando las claves:
$ openssl genrsa -des3 -out private.key 2048
$ openssl req -new -key private.key -out apps.mydomain.com.csr
Luego envío el archivo .csr a GoDaddy durante el proceso de "nueva clave". Una vez que la rekey está completa, descargo los 2 certs recién creados (apps.mydomain.com.crt y gd_bundle.crt). Los descargo seleccionando (Apache) como el tipo de servidor (también probé "otro" y "Cpanel", pero todos parecen iguales).
En este punto, elimino el cifrado del archivo private.key usando el siguiente comando:
$ openssl rsa -in private.key -out private.pem
En este punto, vuelvo a la consola de AWS Mgmt, creo el equilibrador de carga, agrego el redireccionamiento seguro del servidor y coloco el contenido de los siguientes archivos en los campos respectivos en la pantalla donde solicita la configuración del certificado SSL:
private.pem --> Private Key
apps.mydomain.com.crt --> Public Key Certificate
gd_bundle.crt --> Certificate Chain
Cuando hago clic en el botón "continuar" obtengo el error "Error: el certificado de clave pública y la clave privada no coinciden".
- ¿Hay alguna forma de que pueda probar que recibo un mensaje de error válido de Amazon? Me parece extraño que las claves no coincidan cuando estoy siguiendo las instrucciones de GoDaddy muy de cerca.
Intenté crear el archivo private.key sin cifrado RSA antes de crear el .csr y eso no parece hacer ninguna diferencia.
También estoy asumiendo que los archivos .crt que estoy descargando de GoDaddy están en formato .PEM, pero no estoy seguro de cómo verificar esto.
¿Algunas ideas?
Para mí, fue un sencillo de dos pasos:
Convierte la clave privada a PEM:
openssl rsa -in yourdomain.key -outform PEM
Convierta el certificado y el paquete de certificados a PEM :
openssl x509 -inform PEM -in yourdomain.crt
openssl x509 -inform PEM -in bundle.crt
Parece que el problema fue la forma en que estaba copiando el contenido de la clave y los certs en la consola de administración de AWS. Estaba usando un escritorio Ubuntu que se ejecuta en Virtual Box en un escritorio con Windows 7; copie y pegue los valores de una pantalla de gedit en el navegador que se ejecuta en el cuadro de Windows. Una vez que abrí los archivos de clave y cert en el mismo cuadro que el navegador web (Windows en este caso), los certs pasaron muy bien. Supongo que algunas partes del archivo no lo superan correctamente cuando se utiliza el tablero de clip compartido entre el cliente y el host de Virtual Box. Caso cerrado.
Puedo sugerirle una solución alternativa y una información para ustedes. En general, todos los certificados son de formato de archivo PEM. Puede simplemente abrir una libreta o cualquier editor de texto y arrastrar los archivos que recibió en formato de archivo .crt. Normalmente se llama como archivo .PEM. Si el certificado cargado en su herramienta de claves puede exportar el certificado como un archivo pfx desde keytool. Luego puede separar el archivo pfx de la clave privada del archivo pfx. Porque el archivo pfx es la combinación de su certificado y la clave privada. Así que puede obtener por separado el archivo de clave privada y usarlo en Amazon Aws.
Sospecho que puede haber otra forma de instalar el certificado. Puede ser que pueda ponerse en contacto con la autoridad de certificación y hay alguna forma de que se vuelva a emitir su certificado.
Solo para el registro y para cualquier otra persona que esté tratando de resolverlo:
yourdomain.key -> terminal command: sudo openssl rsa -in yourdomain.key -outform PEM -out yourdomain.pem
-> private key
yourdomain.crt -> clave pública
gd_bundle.crt -> cadena de certificados
y eres bueno para ir :)
Un poco gotcha. Estoy usando un cuadro de Windows (Win 7 Pro) y cuando utilicé el puerto de Windows de OpenSSL, los archivos de salida tenían caracteres de final de línea de estilo Unix (LF).
Tuve que convertir el archivo al estilo de Windows (CRLF) para cargar la clave privada.