amazon-web-services - ec2 - instalar certificado ssl en aws
¿Cómo instalar el certificado de godaddy ssl en aws elb? (6)
He comprado un certificado SSL de godaddy. He creado un archivo de almacén de claves, he generado un archivo csr a partir de él, lo he enviado a GoDaddy y he recibido estos archivos:
- mydomain.crt
- gd_intermediate.crt
- gd_bundle.crt
Ahora estoy intentando crear un Elastic Load Balancer en la consola de AWS. Cuando se les pide detalles de un certificado, piden:
- Clave privada (codificada pem)
- Certificado de clave pública (pem codificado)
- Cadena de certificados (pem codificada, opcional)
¿Cómo convierto los archivos que tengo a estos parámetros?
Aquí hay una guía sobre cómo obtener un certificado de Godaddy ssl en Amazon Elastic Load Balancer (ELB) http://cloudarch.co.uk/2011/10/elastic-load-balancer-ssl-setup-guide-pem-encoded-csr/#.UKFla2nGU_8
Desea convertir mydomain.crt a mydomain.pem (los otros dos archivos son archivos de cadena de confianza). Puede usar openssl en cualquier sistema Unix o Linux para generar un archivo pem desde un crt.
Dado que el emisor del certificado tiene la clave privada, la única razón por la que debería pedirle una es si está tratando de generar un certificado. Si ya tiene un certificado, debe usarlo. Consultar la documentation
Hace casi dos años exactamente, pero me encontré con esto y me quedé perplejo por un segundo.
El cuerpo del Certificado * es la clave principal en el archivo zip, el mío se parece a este f7dsdfsdf2f4e942d.crt
y solo tiene una entrada.
La clave privada del certificado del campo intermedio * es la clave privada ssh que firmó su csr. Vive en el servidor que el usuario crea para crear su solicitud de CSR. Encontré la ubicación mía mirando el archivo de configuración nginx y copiando en mi disco local.
El último campo de la cadena de certificados es el archivo con 3 entradas, el mío se parece a gd_bundle-g2-g1.crt
.
Para AWS ELB necesitas tres cosas como dijiste
Llave privada
La clave rsa generada en linux con
#openssl genrsa -des3 -out host.key 2048
le pedirá una contraseña, dálela por ahora la eliminaremos más tarde.
Llave pública
desde su clave privada, primero genere el archivo csr que es la Solicitud de firma de certificado (la que usted envía a la autoridad en su caso para obtener la clave pública). puedes generar un archivo csr usando
#openssl req -new -key host.key -out host.csr
ahora envías tu archivo csr a godaddy y a cambio te proporcionan dos archivos (mydomain.crt, gd_bundle.crt). mydomain.crt es su clave pública.
Cadena de certificados
gd_bundle.crt es un archivo de cadena de certificación que Godaddy le proporciona su clave pública. Su clave pública y su archivo de cadena de certificación no necesitan conversión, pero para el archivo de clave privada debe eliminar su contraseña y convertirla en pem con
#openssl rsa -in host.key -out private.pem
y es bueno ir por el contenido del archivo de clave privada AWS.put en la sección de clave privada de aws y poner el contenido del archivo mydomain.crt en la clave pública y colocar el contenido de gd_bundle.crt en la sección de la cadena de certificación. La conversión depende de dónde esté obteniendo su certificado. Si desea obtener un certificado de otra compañía, le recomendaré que siga los documentos de AWS.
http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/ssl-server-cert.html
Recientemente tuve que pasar por este proceso y ninguna de las respuestas funcionó para mí. Estos son los pasos que me permitieron subir un nuevo certificado SSL a AWS (para su uso posterior en ElasticBeanstalk).
Obteniendo Clave Privada
Tuve que usar dos comandos para este proceso:
openssl genrsa -des3 -out server.pass.key 2048
openssl rsa -in server.pass.key -out server.key
El archivo server.key
es su clave privada.
Además, puede generar la CSR (solicitud de firma de certificado) haciendo lo siguiente:
openssl req -nodes -new -key server.key -out server.csr
Este es el archivo que usaremos para solicitar a GoDaddy que emita nuestro nuevo certificado.
Obtención de clave pública
Una vez que el certificado ha sido emitido en GoDaddy, descárguelo. Esto le dará dos archivos que deben agruparse en uno haciendo:
cat yourdomain.crt gd_bundle-g2-g1.crt > combined.crt
El combined.crt
sería su clave pública.
Cargando el certificado del servidor a AWS
Con el archivo server.key
y combined.crt
, ahora puede cargar el certificado a AWS utilizando AWS CLI . Solo tienes que usar el siguiente comando:
aws iam upload-server-certificate --server-certificate-name your_certificate_name --certificate-body file://combined.crt --private-key file://server.key
Si todo salió bien, recibirás una respuesta del servidor:
{
"ServerCertificateMetadata": {
"ServerCertificateId": "ABCDEFG12345678",
"ServerCertificateName": "certificate-name",
"Expiration": "2018-08-26T11:59:38Z",
"Path": "/",
"Arn": "arn:aws:iam::1234123412:server-certificate/certificate-name",
"UploadDate": "2017-08-26T19:53:46.989Z"
}
}
Y eso es todo, debe tener un nuevo certificado SSL disponible para usted en AWS.
Si está utilizando un servidor Windows IIS:
Llave privada
- Siga las instrucciones here para obtener su clave privada. Esencialmente (sin las capturas de pantalla):
- Ejecutar mmc.exe
- En el menú Archivo , elija Agregar o quitar complemento .
- En la nueva ventana que aparece, haga clic en Agregar .
- Seleccione Certificados y luego haga clic en Agregar .
- Elija la opción Cuenta de equipo y haga clic en Siguiente .
- Seleccione Equipo local y luego haga clic en Finalizar .
- Haga clic en Cerrar y, a continuación, haga clic en Aceptar . El complemento para Certificados (equipo local) aparece en la consola.
- Expanda el árbol Certificados (equipo local) en el panel de vista previa de la izquierda.
- Haga clic derecho en Personal y seleccione Todas las tareas> Importar . Aparece el asistente de importación de certificados. Haga clic en siguiente .
- Busque la ubicación de su archivo de certificado de servidor y haga clic en Siguiente .
- Seleccione Colocar todos los certificados en la siguiente tienda y haga clic en Siguiente .
- Haga clic en Finalizar para completar el Asistente de importación de certificados.
- Aparece un cuadro de diálogo que indica que la importación se realizó correctamente. Haga clic en Aceptar.
- En el árbol, expanda Personal y haga clic en Certificados . Haga doble clic en su certificado.
- Haga clic en copiar a archivo en la pestaña Detalles en la ventana emergente Certificado y cree un archivo .pfx.
- Vaya a here para convertirlo a formato PEM.
- Pegue las partes desde
-----BEGIN PRIVATE KEY-----
hasta-----END PRIVATE KEY-----
solamente.- No las líneas de arriba
-----BEGIN PRIVATE KEY-----
y no las líneas de abajo-----END PRIVATE KEY-----
- No las líneas de arriba
Llave pública
- Utilice el archivo .crt suministrado por GoDaddy en el archivo zip descargado.
Cadena de certificados
- Utilice gd_bundle-g2-g1.crt suministrado por GoDaddy en el archivo zip descargado.