Création et signature d'un certificat X509 - AWS Elastic Beanstalk

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Création et signature d'un certificat X509

Vous pouvez créer un certificat X509 pour votre application avec OpenSSL. OpenSSL est une bibliothèque open source standard qui prend en charge un large éventail de fonctions de chiffrement, dont la création et la signature de certificats X509. Pour plus d'informations sur OpenSSL, consultez le site http://www.openssl.org.

Note

Vous ne devez créer un certificat localement que si vous souhaitez utiliser HTTPS dans un environnement à instance unique ou effectuer un nouveau chiffrement sur le backend avec un certificat auto-signé. Si vous possédez un nom de domaine, vous pouvez créer un certificat dans AWS et l'utiliser gratuitement dans l'environnement à charge équilibrée à l'aide d'AWS Certificate Manager (ACM). Pour obtenir les instructions, consultez Demande de certificat dans le Guide de l'utilisateur AWS Certificate Manager.

Exécutez openssl version dans la ligne de commande pour voir si OpenSSL est déjà installé. Si ce n'est pas le cas, vous pouvez créer et installer le code source en suivant les instructions du référentiel GitHub public, ou utiliser votre gestionnaire de package préféré. OpenSSL est également installé sur les images Linux d'Elastic Beanstalk. À titre de solution alternative rapide, vous pouvez vous connecter à une instance EC2 dans un environnement en cours d'exécution via la commande eb ssh de l'interface de ligne de commande Elastic Beanstalk :

~/eb$ eb ssh [ec2-user@ip-255-55-55-255 ~]$ openssl version OpenSSL 1.0.1k-fips 8 Jan 2015

Vous devez créer une clé privée RSA pour générer votre demande de signature de certificat (CSR). Pour créer votre clé privée, utilisez la commande openssl genrsa :

[ec2-user@ip-255-55-55-255 ~]$ openssl genrsa 2048 > privatekey.pem Generating RSA private key, 2048 bit long modulus .................................................................................................................................+++ ...............+++ e is 65537 (0x10001)
privatekey.pem

Nom du fichier dans lequel vous souhaitez enregistrer la clé privée. Généralement, la commande openssl genrsa affiche le contenu de la clé privée à l'écran, mais cette commande redirige le résultat vers un fichier. Choisissez un nom de fichier et stockez le fichier dans un emplacement sécurisé de façon à pouvoir le récupérer ultérieurement. Si vous perdez votre clé privée, vous ne pourrez pas utiliser votre certificat.

Un fichier CSR est un fichier que vous pouvez envoyer à une autorité de certification (CA) pour demander un certificat de serveur numérique. Pour créer un fichier CSR, utilisez la commande openssl req :

$ openssl req -new -key privatekey.pem -out csr.pem You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank.

Saisissez les informations demandées et appuyez sur Entrée. Le tableau suivant décrit les champs et fournit des exemples pour chacun d'entre eux.

Nom Description Exemple
Nom du pays Abréviation ISO de deux lettres de votre pays. US = États-Unis
État ou Province Nom de l'état ou de la province où votre organisation se situe. Vous ne pouvez pas abréger ce nom. Washington
Nom de la localité Nom de la ville où votre organisation se situe. Seattle
Nom de l'organisation Nom légal complet de votre organisation. N'abrégez pas le nom de votre organisation. Exemple d'entreprise
Unité d'organisation (Facultatif) Informations supplémentaires sur l'organisation. Marketing
Nom commun Nom de domaine complet de votre site web. Il doit correspondre au nom de domaine que les utilisateurs voient lorsqu'ils visitent votre site (sinon, des erreurs de certificat s'affichent). www.exemple.com
Adresse e-mail Adresse e-mail de l'administrateur du site. quelquun@exemple.com

Vous pouvez envoyer la demande de signature à un tiers pour la signature, ou la signer vous-même à des fins de test et de développement. Les certificats auto-signés peuvent aussi être utilisés pour une connexion backend HTTPS entre un équilibreur de charge et des instances EC2.

Pour signer le certificat, utilisez la commande openssl x509. L'exemple suivant utilise la clé privée générée lors de l'étape précédente (privatekey.pem) et la demande de signature (csr.pem) pour créer un certificat public nommé public.crt, dont la durée de validité est de 365 jours.

$ openssl x509 -req -days 365 -in csr.pem -signkey privatekey.pem -out public.crt Signature ok subject=/C=us/ST=washington/L=seattle/O=example corporation/OU=marketing/CN=www.example.com/emailAddress=someone@example.com Getting Private key

Conservez la clé privée et le certificat public pour une utilisation ultérieure. Vous pouvez supprimer la demande de signature. Veillez à toujours stocker la clé privée dans un emplacement sécurisé et à ne pas l'ajouter à votre code source.

Pour utiliser le certificat avec la plateforme Windows Server, vous devez le convertir au format PFX. Utilisez la commande suivante pour créer un certificat PFX à partir de la clé privée et des fichiers de certificat public :

$ openssl pkcs12 -export -out example.com.pfx -inkey privatekey.pem -in public.crt Enter Export Password: password Verifying - Enter Export Password: password

Maintenant que vous disposez d'un certificat, vous pouvez le charger dans IAM pour l'utiliser avec un équilibreur de charge, ou configurer les instances de votre environnement pour suspendre HTTPS.