Comment charger et importer un certificat SSL vers AWS Identity and Access Management (IAM) ?

Dernière mise à jour : 14-03-2022

Comment charger et importer un certificat SSL vers AWS Identity and Access Management (IAM) ?

Brève description

Il est conseillé de charger les certificats SSL vers AWS Certificate Manager (ACM). Si vous utilisez des algorithmes et des tailles de clés qui ne sont pas actuellement pris en charge par ACM ou les ressources AWS associées, vous pouvez également charger un certificat SSL vers IAM en utilisant AWS Command Line Interface (AWS CLI).

Pour pouvoir importer un certificat SSL vers IAM :

  • Le certificat doit être valide au moment de son chargement. Vous ne pouvez pas charger un certificat avant le début de sa période de validité ou après son expiration.
  • Le certificat, la clé privée et la chaîne de certificats doivent être codés PEM. Pour plus d'informations, consultez Exemple de chaîne de certificats codées PEM dans Utilisation des certificats de serveur.

Après avoir confirmé que le certificat répond à ces critères, veillez à ce que la chaîne de certificats soit dans le bon ordre, puis chargez le certificat.

Résolution

Vérifier que la chaîne de certificats est dans l'ordre approprié

Remarque : en cas d'erreurs lors de l'exécution des commandes depuis AWS CLI, assurez-vous que vous utilisez la version la plus récente.

La chaîne de certificats doit commencer par le certificat généré par votre autorité de certification (CA) et se terminer par le certificat racine de cette dernière.

Remarque : si l'ordre de la chaîne de certificats n'est pas correct, vous pouvez recevoir le message d'erreur « An error occurred (MalformedCertificate) when calling the UploadServerCertificate operation: Unable to validate certificate chain (Une erreur s'est produite (MalformedCertificate) lors de l'appel de l'opération UploadServerCertificate : Impossible de valider la chaîne de certificats). La chaîne de certificats doit commencer par le certificat de signature immédiate, suivi de tous les intermédiaires dans l'ordre. L'index dans la chaîne du certificat non valide est : -1"

La chaîne de certificats codée PEM doit commencer par « -----BEGIN CERTIFICATE----- » et se terminer par « -----END CERTIFICATE----- », comme suit :

-----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-----

Remarque : Assurez-vous que le certificat ne comporte aucun espace de début ou de fin et qu'il ne contient pas de préfixe ou de suffixe en plus des blocs BEGIN et END.

La clé codée PEM doit utiliser le format suivant pour éviter le message d'erreur « MalformedCertificate : Unable to parse private key » :

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

Charger le certificat

Chargez le certificat en exécutant la commande upload-server-certificate de l'interface de ligne de commande AWS similaire à la suivante :

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

Remarque :

  • Remplacez les noms de fichier et YourCertificate par les noms de vos fichiers chargés et votre certificat.
  • Vous devez spécifier le préfixe « file :// » dans les paramètres de corps de certificat, de chaîne de certificat et de clé privée dans la demande d'API. Sinon, la demande échoue avec un message d'erreur « MalformedCertificate : Unknown ».

Une fois le certificat chargé, la commande AWS upload-server-certificate renvoie des métadonnées sur ce dernier, notamment son Amazon Resource Name (ARN), son nom convivial, son identificateur (ID) et sa date d'expiration.

Pour afficher le certificat chargé, exécutez la commande list-server-certificates de l'interface de ligne de commande (CLI) AWS :

aws iam list-server-certificates

Remarque : si vous chargez un certificat serveur à utiliser avec Amazon CloudFront, vous devez spécifier un chemin d'accès en utilisant  -- path. Le chemin doit commencer par /cloudfront et contenir une barre oblique de fin, par exemple, /cloudfront/test/. Pour plus d'informations, consultez Comment résoudre les problèmes liés à l'utilisation d'un certificat SSL personnalisé pour ma distribution CloudFront ?

Pour supprimer le certificat, exécutez la commande AWS CLI delete-server-certificate similaire à la suivante :

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

Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?