Étape 2 : Créer une demande de signature de certificat (CSR) et un certificat - AWS CloudHSM

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.

Étape 2 : Créer une demande de signature de certificat (CSR) et un certificat

Pour activer le protocole HTTPS, votre serveur nécessite un certificat SSL/TLS et une clé privée correspondante. Pour utiliser le déchargement SSL/TLS avec AWS CloudHSM, vous devez stocker la clé privée dans le HSM de votre cluster. AWS CloudHSM Pour ce faire, vous utilisez le fournisseur de stockage de clés (KSP)AWS CloudHSM pour l'API Cryptography : Next Generation (CNG) de Microsoft afin de créer une demande de signature de certificat (CSR). Ensuite, vous accordez la CSR à une autorité de certification (CA), qui signe la CSR pour produire un certificat.

Création d'une CSR

Utilisez le AWS CloudHSM KSP sur votre serveur Windows pour créer un CSR.

Pour créer un CSR
  1. Si ce n'est pas déjà fait, connectez-vous à votre serveur Windows Server. Pour plus d'informations, consultez Connect to Your Instance dans le guide de l'utilisateur Amazon EC2.

  2. Utilisez la commande suivante pour démarrer le daemon AWS CloudHSM client.

    Amazon Linux
    $ sudo start cloudhsm-client
    Amazon Linux 2
    $ sudo service cloudhsm-client start
    CentOS 7
    $ sudo service cloudhsm-client start
    CentOS 8
    $ sudo service cloudhsm-client start
    RHEL 7
    $ sudo service cloudhsm-client start
    RHEL 8
    $ sudo service cloudhsm-client start
    Ubuntu 16.04 LTS
    $ sudo service cloudhsm-client start
    Ubuntu 18.04 LTS
    $ sudo service cloudhsm-client start
    Windows
    • Pour le Client Windows version 1.1.2 et ultérieure :

      C:\Program Files\Amazon\CloudHSM>net.exe start AWSCloudHSMClient
    • Pour les clients Windows version 1.1.1 et antérieure :

      C:\Program Files\Amazon\CloudHSM>start "cloudhsm_client" cloudhsm_client.exe C:\ProgramData\Amazon\CloudHSM\data\cloudhsm_client.cfg
  3. Sur votre Windows Server, utilisez un éditeur de texte pour créer un fichier de demande de certificat nommé IISCertRequest.inf. L'exemple suivant montre le contenu d'un exemple de fichier IISCertRequest.inf. Pour plus d'informations sur les sections, les clés et les valeurs que vous pouvez spécifier dans le fichier, consultez la documentation Microsoft. Ne modifiez pas la valeur ProviderName.

    [Version] Signature = "$Windows NT$" [NewRequest] Subject = "CN=example.com,C=US,ST=Washington,L=Seattle,O=ExampleOrg,OU=WebServer" HashAlgorithm = SHA256 KeyAlgorithm = RSA KeyLength = 2048 ProviderName = "Cavium Key Storage Provider" KeyUsage = 0xf0 MachineKeySet = True [EnhancedKeyUsageExtension] OID=1.3.6.1.5.5.7.3.1
  4. Utilisez la commande Windows certreq pour créer une CSR à partir du fichier IISCertRequest.inf que vous avez créé à l'étape précédente. L'exemple suivant enregistre la CSR dans un fichier nommé IISCertRequest.csr. Si vous avez utilisé un nom de fichier différent pour votre fichier de demande de certificat, remplacez IIS CertRequest .inf par le nom de fichier approprié. Vous pouvez éventuellement remplacer le fichier IIS CertRequest .csr par un nom de fichier différent pour votre fichier CSR.

    C:\>certreq -new IISCertRequest.inf IISCertRequest.csr SDK Version: 2.03 CertReq: Request Created

    Le fichier IISCertRequest.csr contient votre CSR. Vous avez besoin de cette CSR pour obtenir un certificat signé.

Obtention et importation d'un certificat signé

Dans un environnement de production, vous utilisez généralement une autorité de certification (CA) pour créer un certificat émis par une demande de signature de certificat (CSR). L'autorité de certification n'est pas nécessaire pour un environnement de test. Si vous utilisez une autorité de certification, envoyez-lui le fichier CSR (IISCertRequest.csr) et utilisez l'autorité de certification pour créer un certificat SSL/TLS signé.

Au lieu d'utiliser une autorité de certification, vous pouvez utiliser un outil comme OpenSSL pour créer un certificat auto-signé.

Avertissement

Les certificats auto-signés ne sont pas approuvées par les navigateurs et ne doivent pas être utilisés dans les environnements de production. Ils peuvent cependant être utilisés dans les environnements de test.

Les procédures suivantes montrent comment créer un certificat auto-signé et l'utiliser pour signer la CSR de votre serveur web.

Pour créer un certificat auto-signé
  1. Utilisez la commande OpenSSL suivante pour créer une clé privée. Vous pouvez éventuellement remplacer SelfSignedCA.key par le nom du fichier contenant votre clé privée.

    openssl genrsa -aes256 -out SelfSignedCA.key 2048 Generating RSA private key, 2048 bit long modulus ......................................................................+++ .........................................+++ e is 65537 (0x10001) Enter pass phrase for SelfSignedCA.key: Verifying - Enter pass phrase for SelfSignedCA.key:
  2. Utilisez la commande OpenSSL suivante pour créer un certificat d'émission auto-signé avec la clé privée que vous avez créée à l'étape précédente. Il s'agit d'une commande interactive. Lisez les instructions à l'écran et suivez les invites. Remplacez SelfSignedCA.key par le nom du fichier contenant votre clé privée (s'il est différent). Vous pouvez éventuellement remplacer SelfSignedCA.crt par le nom du fichier contenant votre certificat auto-signé.

    openssl req -new -x509 -days 365 -key SelfSignedCA.key -out SelfSignedCA.crt Enter pass phrase for SelfSignedCA.key: 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. ----- Country Name (2 letter code) [AU]: State or Province Name (full name) [Some-State]: Locality Name (eg, city) []: Organization Name (eg, company) [Internet Widgits Pty Ltd]: Organizational Unit Name (eg, section) []: Common Name (e.g. server FQDN or YOUR name) []: Email Address []:
Pour utiliser votre certificat auto-signé pour signer la CSR du serveur web
  • Utilisez la commande OpenSSL suivante pour utiliser votre clé privée et le certificat auto-signé pour signer la CSR. Remplacez les éléments suivants par les noms des fichiers qui contiennent les données correspondantes (en cas de différence).

    • IIS CertRequest .csr : nom du fichier contenant le CSR de votre serveur Web

    • SelfSignedCA.crt — Le nom du fichier contenant votre certificat auto-signé

    • SelfSignedCA.key — Le nom du fichier contenant votre clé privée

    • IISCert.crt – Nom du fichier qui contient le certificat auto-signé de votre serveur web

    openssl x509 -req -days 365 -in IISCertRequest.csr \ -CA SelfSignedCA.crt \ -CAkey SelfSignedCA.key \ -CAcreateserial \ -out IISCert.crt Signature ok subject=/ST=IIS-HSM/L=IIS-HSM/OU=IIS-HSM/O=IIS-HSM/CN=IIS-HSM/C=IIS-HSM Getting CA Private Key Enter pass phrase for SelfSignedCA.key:

Une fois que vous avez terminé l'étape précédente, vous avez un certificat signé pour votre serveur web (IISCert.crt) et un certificat auto-signé (SelfSignedCA.crt). Lorsque vous avez ces fichiers, accédez à Étape 3 : Configurer le serveur web.