Skapa egna certifikat (OpenSSL under Windows/Linux) - LSM 3.6 SP1 Business + Prof.

I detta kapitel skapas som exempel alla filer som behövs för att säkra kommunikationen till RouterNode 3 med egna certifikat.

I exemplet används ett fiktivt företagsnamn ("OpenAllDoors"). Anpassa vid behov filnamn, konfigurationsfiler och kommandon till din situation.

Observera:

  • Nyckeltyp som stöds: prime256v1: X9.62/SECG-kurva över en 256-bitars primtalskropp
  • Certifikat och nyckel måste laddas upp i DER-format.
  • Certifikatfilerna i DER-format får vara högst 768 byte stora. Dina uppgifter om ditt företag i konfigurationsfilerna påverkar storleken på DER-filerna.
  • Det självsignerade CA-enhetscertifikatet (CustomDeviceCA.crt) måste installeras på klienten (datorn) för att enhetscertifikatet för RouterNode 3 ska kunna verifieras. Det är i PEM-format och behöver inte konverteras.
  • Det självsignerade CA-klientcertifikatet (CustomClientCA.crt) är valfritt, men SimonsVoss rekommenderar att även detta certifikat installeras på klienten. Annars kan klienten inte verifiera certifikaten fullständigt och visar en varning.
  • För att lägga till i Windows certifikatarkiv måste klientcertifikatet och nyckeln paketeras i en PFX-fil.

    Denna beskrivning ska endast betraktas som ett exempel. SimonsVoss kan inte ge dig support vid skapandet av certifikaten. Kontakta din IT-avdelning om du har frågor.

    OpenSSL på Windows-operativsystem (Win64 OpenSSL Command Prompt)

    1. OpenSSL 4.0 eller senare är installerat.
    2. OpenSSL-terminalen är öppen.
    1. Skapa den privata nyckeln för det självsignerade CA-enhetscertifikatet:
      openssl ecparam -out customdeviceca.key -name prime256v1 -genkey
    2. Skapa en konfigurationsfil med namnet device_ca.cnf (innehåll, se device_ca.cnf).
    3. Skapa det självsignerade CA-enhetscertifikatet:
      openssl req -new -x509 -sha256 -days 3650 -key customdeviceca.key -out CustomDeviceCA.crt -config device_ca.cnf -extensions v3_ca
    4. Skapa den privata nyckeln för enhetscertifikatet:
      openssl ecparam -out customdevice.key -name prime256v1 -genkey
    5. Skapa en konfigurationsfil med namnet device.cnf (innehåll, se device.cnf).
    6. Skapa en signeringsbegäran för enhetscertifikatet:
      openssl req -new -sha256 -key customdevice.key -out customdevice.csr -config device.cnf
    7. Skapa en konfigurationsfil med namnet device_ext.cnf (innehåll, se device_ext.cnf).
    8. Skapa det CA-signerade certifikatet:
      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. Konvertera nyckeln till DER-format:
      openssl ec -inform PEM -in customdevice.key -outform DER -out customdevice_key.der
    10. Konvertera certifikatet till DER-format:
      openssl x509 -inform PEM -in CustomDevice.crt -outform DER -out customdevice_crt.der
    11. Skapa den privata nyckeln för det självsignerade klient-CA-certifikatet:
      openssl ecparam -out customclientca.key -name prime256v1 -genkey
    12. Skapa en konfigurationsfil med namnet client_ca.cnf (innehåll, se client_ca.cnf).
    13. Skapa det självsignerade klient-CA-certifikatet:
      openssl req -new -x509 -sha256 -days 3650 -key customclientca.key -out CustomClientCA.crt -config client_ca.cnf -extensions v3_ca
    14. Konvertera det självsignerade klient-CA-certifikatet till DER-format:
      openssl x509 -inform PEM -in CustomClientCA.crt -outform DER -out customclientca_crt.der
    15. Generera den privata nyckeln för klientcertifikatet:
      openssl ecparam -out customclient.key -name prime256v1 -genkey
    16. Skapa en konfigurationsfil med namnet client.cnf (innehåll, se client.cnf).
    17. Skapa en signeringsbegäran för klientcertifikatet:
      openssl req -new -sha256 -key customclient.key -out customclient.csr -config client.cnf
    18. Skapa en konfigurationsfil med namnet client_ext.cnf (innehåll, se client_ext.cnf).
    19. Skapa det CA-signerade klientcertifikatet:
      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. Konvertera klientcertifikatet och nyckeln till en PFX-fil:
      openssl pkcs12 -export -inkey customclient.key -in CustomClient.crt -out CustomClient.pfx
    21. INFO

      notice

      Exportlösenord

      PFX-filen innehåller den konfidentiella privata nyckeln customclient.key. OpenSSL kräver därför ett lösenord när PFX-filen skapas. Du måste ange detta lösenord när du vill lägga till certifikaten i Windows med hjälp av PFX-filen.

    Du bör nu ha skapat följande filer:

    OpenSSL på Linux-operativsystem

    1. OpenSSL 4.0 eller senare är installerat.
    2. OpenSSL-terminalen är öppen.
    1. Skapa den privata nyckeln för det självsignerade CA-enhetscertifikatet:
      openssl ecparam -out customdeviceca.key -name prime256v1 -genkey
    2. Skapa en konfigurationsfil med namnet device_ca.cnf (innehåll, se device_ca.cnf).
    3. Skapa det självsignerade CA-enhetscertifikatet:
      openssl req -new -x509 -sha256 -days 3650 -key customdeviceca.key -out CustomDeviceCA.crt -config device_ca.cnf -extensions v3_ca
    4. Skapa den privata nyckeln för enhetscertifikatet:
      openssl ecparam -out customdevice.key -name prime256v1 -genkey
    5. Skapa en konfigurationsfil med namnet device.cnf (innehåll, se device.cnf).
    6. Skapa en signeringsbegäran för enhetscertifikatet:
      openssl req -new -sha256 -key customdevice.key -out customdevice.csr -config device.cnf
    7. Skapa det CA-signerade certifikatet:
      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. Konvertera nyckeln till DER-format:
      openssl ec -inform PEM -in customdevice.key -outform DER -out customdevice_key.der
    9. Konvertera certifikatet till DER-format:
      openssl x509 -inform PEM -in CustomDevice.crt -outform DER -out customdevice_crt.der
    10. Skapa den privata nyckeln för det självsignerade klient-CA-certifikatet:
      openssl ecparam -out customclientca.key -name prime256v1 -genkey
    11. Skapa en konfigurationsfil med namnet client_ca.cnf (innehåll, se client_ca.cnf).
    12. Skapa det självsignerade klient-CA-certifikatet:
      openssl req -new -x509 -sha256 -days 3650 -key customclientca.key -out CustomClientCA.crt -config client_ca.cnf -extensions v3_ca
    13. Konvertera det självsignerade klient-CA-certifikatet till DER-format:
      openssl x509 -inform PEM -in CustomClientCA.crt -outform DER -out customclientca_crt.der
    14. Generera den privata nyckeln för klientcertifikatet:
      openssl ecparam -out customclient.key -name prime256v1 -genkey
    15. Skapa en konfigurationsfil med namnet client.cnf (innehåll, se client.cnf).
    16. Skapa en signeringsbegäran för klientcertifikatet:
      openssl req -new -sha256 -key customclient.key -out customclient.csr -config client.cnf
    17. Skapa det CA-signerade klientcertifikatet:
      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. Konvertera klientcertifikatet och nyckeln till en PFX-fil:
      openssl pkcs12 -export -inkey customclient.key -in CustomClient.crt -out CustomClient.pfx
    19. INFO

      notice

      Exportlösenord

      PFX-filen innehåller den konfidentiella privata nyckeln customclient.key. OpenSSL kräver därför ett lösenord när PFX-filen skapas. Du måste ange detta lösenord när du vill lägga till certifikaten i Windows med hjälp av PFX-filen.