¿Cómo puedo cargar un certificado de SSL e importarlo a AWS Identity and Access Management (IAM)?

4 minutos de lectura
0

¿Cómo puedo cargar un certificado de SSL e importarlo a AWS Identity and Access Management (IAM)?

Breve descripción

Se recomienda cargar certificados de SSL en AWS Certificate Manager (ACM). Si utiliza algoritmos y tamaños de clave de certificado que no son compatibles actualmente con ACM o con los recursos asociados de AWS, también puede cargar un certificado de SSL en IAM mediante la Interfaz de la línea de comandos de AWS (AWS CLI).

Antes de poder importar un certificado de SSL a IAM:

  • El certificado debe ser válido en el momento de la carga. No puede cargar un certificado antes de que comience su período de validez ni después de que caduque.
  • El certificado, la clave privada y la cadena de certificados deben estar codificados en formato PEM. Para obtener más información, consulte la sección Ejemplo de cadena de certificados codificada en PEM en Administración de certificados de servidor.

Tras confirmar que el certificado cumple los criterios, asegúrese de que la cadena de certificados esté en el orden correcto y, a continuación, cargue el certificado.

Solución

Confirmación de que la cadena de certificados está en el orden correcto

Nota: Si se muestran errores al ejecutar comandos de CLI de AWS, compruebe si está utilizando la versión más reciente de AWS CLI.

La cadena de certificados debe comenzar con el certificado generado por su autoridad de certificación (CA) y terminar con el certificado raíz de la CA.

Nota: Si la cadena de certificados no está en el orden correcto, puede que se muestre el siguiente mensaje de error: «Se ha producido un error (MalformedCertificate) al llamar a la operación UploadServerCertificate: No se ha podido validar la cadena de certificados. La cadena de certificados debe comenzar con el certificado de firma inmediata, seguido de cualquier intermediario, por orden. El índice dentro de la cadena del certificado no válido es: -1»

La cadena de certificados codificada en PEM debe comenzar con «-----BEGIN CERTIFICATE-----» y acabar con «-----END CERTIFICATE-----», como a continuación:

-----BEGIN CERTIFICATE-----
Base64-encoded Intermediate certificate 2
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Base64-encoded Intermediate certificate 1
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Optional: Base64-encoded Root certificate
-----END CERTIFICATE-----

Nota: Asegúrese de que el certificado no tenga espacios iniciales ni finales, ni tampoco prefijos ni sufijos a parte del bloque BEGIN y END.

La clave codificada en PEM debe utilizar el siguiente formato para evitar el mensaje de error «MalformedCertificate: no se ha podido analizar la clave privada»:

-----BEGIN RSA PRIVATE KEY-----
Base64-encoded private key
-----END RSA PRIVATE KEY-----

Carga del certificado

Cargue el certificado mediante la ejecución del comando de AWS CLI upload-server-certificate, como a continuación:

$ aws iam upload-server-certificate --server-certificate-name YourCertificate --certificate-body file://Certificate.pem --certificate-chain file://CertificateChain.pem --private-key file://PrivateKey.pem

Nota:

  • Sustituya los nombres de los archivos y YourCertificate por los nombres de los archivos cargados y del certificado, respectivamente.
  • Debe especificar el prefijo «file://» en los parámetros certificate-body, certificate-chain y private-key en la solicitud de la API. De lo contrario, se producirá un error en la solicitud y se mostrará el mensaje de error «MalformedCertificate: desconocido».

Una vez cargado el certificado, el comando upload-server-certificate de AWS devuelve metadatos para el certificado cargado, incluidos el ARN (Amazon Resource Name), el nombre intuitivo, el ID (identificador) y la fecha de vencimiento del certificado.

Para ver el certificado cargado, ejecute el comando list-server-certificates de AWS CLI:

aws iam list-server-certificates

Nota: Si carga un certificado de servidor para utilizarlo con Amazon CloudFront, debe especificar una ruta con --path. La ruta debe comenzar con /cloudfront y debe incluir una barra final, por ejemplo, /cloudfront/test/. Para obtener más información, consulte ¿Cómo puedo solucionar problemas con el uso de un certificado SSL personalizado para mi distribución de CloudFront?

Para eliminar el certificado, ejecute el comando delete-server-certificate de AWS CLI, como a continuación:

$ aws iam delete-server-certificate --server-certificate-name YourCertificate

Información relacionada

Servicios integrados con AWS Certificate Manager

Formato del certificado y de la clave para la importación

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 2 años