Créer des certificats personnalisés (OpenSSL sous Windows/Linux) - LSM 3.6 SP1 Business + Prof.

Ce chapitre présente, à titre d’exemple, la création de tous les fichiers nécessaires pour sécuriser la communication avec le RouterNode 3 au moyen de certificats personnalisés.

Dans cet exemple, un nom d’entreprise fictif (« OpenAllDoors ») est utilisé. Le cas échéant, adaptez les noms de fichiers, les fichiers de configuration et les commandes à votre environnement.

Veuillez tenir compte de ce qui suit :

  • Type de clé pris en charge : prime256v1 – courbe elliptique X9.62/SECG sur un corps premier de 256 bits.
  • Le certificat et la clé doivent être téléchargés au format DER.
  • La taille des fichiers de certificats au format DER est limitée à 768 octets maximum. Les informations concernant votre entreprise renseignées dans les fichiers de configuration ont une incidence sur la taille des fichiers DER.
  • Le certificat CA autosigné de l’appareil (CustomDeviceCA.crt) doit être installé sur l’ordinateur client pour permettre la vérification du certificat de l’appareil du RouterNode 3. Il est au format PEM et ne doit pas être converti.
  • Le certificat CA client autosigné (CustomClientCA.crt) est facultatif. SimonsVoss recommande toutefois de l’installer également sur l’ordinateur client. Sinon, le client ne pourra pas vérifier l’intégralité des certificats et affichera un avertissement.
  • Pour ajouter le certificat au magasin de certificats Windows, vous devez regrouper le certificat client et la clé dans un fichier PFX.

    Cette description est fournie uniquement à titre d’exemple. SimonsVoss ne saurait vous assister dans la création des certificats. Pour toute question, veuillez contacter votre service informatique.

    OpenSSL sur les systèmes d’exploitation Windows (Win64 OpenSSL Command Prompt)

    1. OpenSSL 4.0 ou une version plus récente est installé.
    2. Terminal OpenSSL ouvert.
    1. Créez la clé privée pour le certificat CA autosigné de l’appareil :
      openssl ecparam -out customdeviceca.key -name prime256v1 -genkey
    2. Créez un fichier de configuration nommé device_ca.cnf (pour le contenu, voir device_ca.cnf).
    3. Créez le certificat CA autosigné de l’appareil :
      openssl req -new -x509 -sha256 -days 3650 -key customdeviceca.key -out CustomDeviceCA.crt -config device_ca.cnf -extensions v3_ca
    4. Créez la clé privée pour le certificat de l’appareil :
      openssl ecparam -out customdevice.key -name prime256v1 -genkey
    5. Créez un fichier de configuration nommé device.cnf (pour le contenu, voir device.cnf).
    6. Créez une demande de signature pour le certificat de l’appareil :
      openssl req -new -sha256 -key customdevice.key -out customdevice.csr -config device.cnf
    7. Créez un fichier de configuration nommé device_ext.cnf (pour le contenu, voir device_ext.cnf).
    8. Créez le certificat CA autosigné :
      openssl.exe x509 -req -sha256 -days 3650 -in customdevice.csr -CA CustomDeviceCA.crt -CAkey customdeviceca.key -out CustomDevice.crt -extensions v3_req -extfile device_ext.cnf
    9. Convertissez la clé au format DER :
      openssl ec -inform PEM -in customdevice.key -outform DER -out customdevice_key.der
    10. Convertissez le certificat au format DER :
      openssl x509 -inform PEM -in CustomDevice.crt -outform DER -out customdevice_crt.der
    11. Créez la clé privée pour le certificat CA client autosigné :
      openssl ecparam -out customclientca.key -name prime256v1 -genkey
    12. Créez un fichier de configuration nommé client_ca.cnf (pour le contenu, voir client_ca.cnf).
    13. Créez le certificat CA client autosigné :
      openssl req -new -x509 -sha256 -days 3650 -key customclientca.key -out CustomClientCA.crt -config client_ca.cnf -extensions v3_ca
    14. Convertissez le certificat CA client autosigné au format DER :
      openssl x509 -inform PEM -in CustomClientCA.crt -outform DER -out customclientca_crt.der
    15. Générez la clé privée pour le certificat client :
      openssl ecparam -out customclient.key -name prime256v1 -genkey
    16. Créez un fichier de configuration nommé client.cnf (pour le contenu, voir client.cnf).
    17. Créez une demande de signature pour le certificat client :
      openssl req -new -sha256 -key customclient.key -out customclient.csr -config client.cnf
    18. Créez un fichier de configuration nommé client_ext.cnf (pour le contenu, voir client_ext.cnf).
    19. Créez le certificat CA client signé :
      openssl.exe x509 -req -sha256 -days 3650 -in customclient.csr -CA CustomClientCA.crt -CAkey customclientca.key -out CustomClient.crt -extensions v3_req -extfile client_ext.cnf
    20. Convertissez le certificat client et la clé dans un fichier PFX :
      openssl pkcs12 -export -inkey customclient.key -in CustomClient.crt -out CustomClient.pfx
    21. NOTE

      notice

      Exporter le mot de passe

      Le fichier PFX contient la clé privée confidentielle customclient.key. C’est pourquoi OpenSSL exige un mot de passe lors de la création du fichier PFX. Vous devez entrer ce mot de passe pour ajouter les certificats à Windows à partir du fichier PFX.

    Vous devriez avoir créé les fichiers suivants :

    OpenSSL sur les systèmes d’exploitation Linux

    1. OpenSSL 4.0 ou une version plus récente est installé.
    2. Terminal OpenSSL ouvert.
    1. Créez la clé privée pour le certificat CA autosigné de l’appareil :
      openssl ecparam -out customdeviceca.key -name prime256v1 -genkey
    2. Créez un fichier de configuration nommé device_ca.cnf (pour le contenu, voir device_ca.cnf).
    3. Créez le certificat CA autosigné de l’appareil :
      openssl req -new -x509 -sha256 -days 3650 -key customdeviceca.key -out CustomDeviceCA.crt -config device_ca.cnf -extensions v3_ca
    4. Créez la clé privée pour le certificat de l’appareil :
      openssl ecparam -out customdevice.key -name prime256v1 -genkey
    5. Créez un fichier de configuration nommé device.cnf (pour le contenu, voir device.cnf).
    6. Créez une demande de signature pour le certificat de l’appareil :
      openssl req -new -sha256 -key customdevice.key -out customdevice.csr -config device.cnf
    7. Créez le certificat CA signé :
      openssl x509 -req -sha256 -days 3650 -in customdevice.csr -CA CustomDeviceCA.crt -CAkey customdeviceca.key -out CustomDevice.crt -extfile <(printf "[v3_req]\\nsubjectAltName = @alt_names\\nbasicConstraints = CA:FALSE\\nsubjectKeyIdentifier = hash\\nauthorityKeyIdentifier = keyid\\nkeyUsage = digitalSignature,keyAgreement\\nextendedKeyUsage = serverAuth\\n[alt_names]\\nDNS.1 = *.local") -extensions v3_req
    8. Convertissez la clé au format DER :
      openssl ec -inform PEM -in customdevice.key -outform DER -out customdevice_key.der
    9. Convertissez le certificat au format DER :
      openssl x509 -inform PEM -in CustomDevice.crt -outform DER -out customdevice_crt.der
    10. Créez la clé privée pour le certificat CA client autosigné :
      openssl ecparam -out customclientca.key -name prime256v1 -genkey
    11. Créez un fichier de configuration nommé client_ca.cnf (pour le contenu, voir client_ca.cnf).
    12. Créez le certificat CA client autosigné :
      openssl req -new -x509 -sha256 -days 3650 -key customclientca.key -out CustomClientCA.crt -config client_ca.cnf -extensions v3_ca
    13. Convertissez le certificat CA client autosigné au format DER :
      openssl x509 -inform PEM -in CustomClientCA.crt -outform DER -out customclientca_crt.der
    14. Générez la clé privée pour le certificat client :
      openssl ecparam -out customclient.key -name prime256v1 -genkey
    15. Créez un fichier de configuration nommé client.cnf (pour le contenu, voir client.cnf).
    16. Créez une demande de signature pour le certificat client :
      openssl req -new -sha256 -key customclient.key -out customclient.csr -config client.cnf
    17. Créez le certificat CA client signé :
      openssl x509 -req -sha256 -days 3650 -in customclient.csr -CA CustomClientCA.crt -CAkey customclientca.key -out CustomClient.crt -extfile <(printf "[v3_req]\\nbasicConstraints = CA:FALSE\\nsubjectKeyIdentifier = hash\\nauthorityKeyIdentifier = keyid\\nkeyUsage = digitalSignature\\nextendedKeyUsage = clientAuth") -extensions v3_req
    18. Convertissez le certificat client et la clé dans un fichier PFX :
      openssl pkcs12 -export -inkey customclient.key -in CustomClient.crt -out CustomClient.pfx
    19. NOTE

      notice

      Exporter le mot de passe

      Le fichier PFX contient la clé privée confidentielle customclient.key. C’est pourquoi OpenSSL exige un mot de passe lors de la création du fichier PFX. Vous devez entrer ce mot de passe pour ajouter les certificats à Windows à partir du fichier PFX.