SSL-Zertifikat generieren

Sie benötigen ein SSL-Zertifikat für den Blue Prism Decision Container. Je nach den Sicherheitsanforderungen Ihrer Infrastruktur und IT-Organisation kann dies ein intern erstelltes SSL-Zertifikat oder ein erworbenes Zertifikat sein.

Der Blue Prism Decision Container erfordert einen Clientschlüssel und einen Serverschlüssel, um sicherzustellen, dass die Kommunikation zwischen dem Decision Plug-in von Hub und dem Decision Container sicher ist.

Selbstsignierte Zertifikate können verwendet werden, werden jedoch nur für POC-\POV-\Entwicklungsumgebungen empfohlen. Verwenden Sie für Produktionsumgebungen Zertifikate von der von Ihrer Organisation genehmigten Zertifizierungsstelle. Es wird empfohlen, dass Sie sich an Ihr IT-Sicherheitsteam wenden und die bestehenden Anforderungen in Erfahrung bringen. Sie benötigen folgende Dateien von Ihrer Zertifizierungsstelle:

  • server.crt
  • server.key
  • ca.crt
  • client.crt

Selbstsigniertes Zertifikat

Für POC-/POV-/Dev-Umgebungen können Sie ein Zertifikat mit dem folgenden Prozess erstellen. Für diesen Prozess muss OpenSSL installiert sein. Diese Anweisungen gelten für einen Windows-Server. Wenn Sie Linux verwenden, nehmen Sie bitte die notwendigen Anpassungen vor.

  1. Wenn es noch nicht vorhanden ist, installieren Sie OpenSSL.

  2. Erstellen Sie einen Ordner, in dem Sie das Skript ausführen (im nächsten Schritt), damit der Output an einem einzigen Ort generiert wird.
  3. Verwenden Sie in dem erstellten Ordner eines der folgenden Skripts, abhängig vom Host-Betriebssystem, und geben Sie die jeweils angegebenen Werte in die Variablen oben im Skript ein:

    Enter certificate password – Ersetzen Sie dies durch ein Passwort, das zur Erstellung des Zertifikats verwendet wird.

    Enter CN for client certificate – Ersetzen Sie dies durch einen gemeinsamen Namen für das Client-Zertifikat, zum Beispiel client.decision.blueprism.com.

    Enter CA – Ersetzen Sie dies durch den gemeinsamen Namen der Zertifizierungsstelle, zum Beispiel decisionCA.

    Enter CN for server certificate – Ersetzen Sie dies durch einen gemeinsamen Namen für das Serverzertifikat. Dieser muss mit dem vollqualifizierten Domain-Namen (FQDN) des Decision Container übereinstimmen, zum Beispiel „decision.blueprism.com“. Wenn sich der Container auf demselben Server wie Hub befindet, können Sie beispielsweise auch „decision.local“ verwenden.

    Skript zum Erstellen von Zertifikaten in Windows

    Führen Sie PowerShell als Administrator aus und verwenden Sie das folgende Skript:

    Kopieren
    $cred = Get-Credential -UserName 'Enter certificate password' -Message 'Enter certificate password'
    $mypwd = $cred.GetNetworkCredential().password
    $clientCN = Read-Host "Enter CN for client certificate"
    $CA = Read-Host "Enter CA"
    $serverCN = Read-Host "Enter CN for server certificate"

    echo Generate CA key:
    openssl genrsa -passout pass:$mypwd -des3 -out ca.key 4096

    echo Generate CA certificate:
    $CASubject = "/CN=" + $CA
    openssl req -passin pass:$mypwd -new -x509 -days 365 -key ca.key -out ca.crt -subj $CASubject

    echo Generate server key:
    openssl genrsa -passout pass:$mypwd -des3 -out server.key 4096

    echo Generate server signing request:
    $serverSubject = "/CN=" + $serverCN
    openssl req -passin pass:$mypwd -new -key server.key -out server.csr -subj $serverSubject

    echo Self-sign server certificate:
    openssl x509 -req -passin pass:$mypwd -days 365 -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt

    echo Remove passphrase from server key:
    openssl rsa -passin pass:$mypwd -in server.key -out server.key

    echo Generate client key
    openssl genrsa -passout pass:$mypwd -des3 -out client.key 4096

    echo Generate client signing request:
    $clientSubject = "/CN=" + $clientCN
    openssl req -passin pass:$mypwd -new -key client.key -out client.csr -subj $clientSubject

    echo Self-sign client certificate:
    openssl x509 -passin pass:$mypwd -req -days 365 -in client.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out client.crt

    echo Remove passphrase from client key:
    openssl rsa -passin pass:$mypwd -in client.key -out client.key

    echo Generate pfx from client key:
    openssl pkcs12 -export -password pass:$mypwd -out client.pfx -inkey client.key -in client.crt

    Die Zertifikate werden in dem von Ihnen erstellten Ordner generiert.

    Skript zum Erstellen von Zertifikaten in Linux

    Führen Sie das folgende Bash-Skript aus:

    Kopieren
    #!/bin/sh

    read -s -p 'Enter certificate password: ';
    CER_PWD=${REPLY};
    echo "";

    read -p 'Enter CN for client certificate: ';
    CLIENT_CN=${REPLY};
    #echo "";

    read -p 'Enter CA: ';
    CA=${REPLY};
    #echo "";

    read -p 'Enter CN for server certificate: ';
    SERVER_CN=${REPLY};
    #echo "";

    unset REPLY;

    echo Generate CA key:
    openssl genrsa -passout pass:$CER_PWD -des3 -out ca.key 4096

    echo Generate CA certificate:
    CA_SUBJECT="/CN=${CA}"
    openssl req -passin pass:$CER_PWD -new -x509 -days 365 -key ca.key -out ca.crt -subj $CA_SUBJECT

    echo Generate server key:
    openssl genrsa -passout pass:$CER_PWD -des3 -out server.key 4096

    echo Generate server signing request:
    SERVER_SUBJECT="/CN=${SERVER_CN}"
    openssl req -passin pass:$CER_PWD -new -key server.key -out server.csr -subj $SERVER_SUBJECT

    echo Self-sign server certificate:
    openssl x509 -req -passin pass:$CER_PWD -days 365 -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt

    echo Remove passphrase from server key:
    openssl rsa -passin pass:$CER_PWD -in server.key -out server.key

    echo Generate client key
    openssl genrsa -passout pass:$CER_PWD -des3 -out client.key 4096

    echo Generate client signing request:
    CLIENT_SUBJECT="/CN=${CLIENT_CN}"
    openssl req -passin pass:$CER_PWD -new -key client.key -out client.csr -subj $CLIENT_SUBJECT

    echo Self-sign client certificate:
    openssl x509 -passin pass:$CER_PWD -req -days 365 -in client.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out client.crt

    echo Remove passphrase from client key:
    openssl rsa -passin pass:$CER_PWD -in client.key -out client.key

    echo Generate pfx from client key:
    openssl pkcs12 -export -password pass:$CER_PWD -out client.pfx -inkey client.key -in client.crt

    Die Zertifikate werden in dem von Ihnen erstellten Ordner generiert.

  4. Fügen Sie das Zertifikat als vertrauenswürdiges Zertifikat auf dem lokalen Computer hinzu, indem Sie die folgenden Skripts ausführen:

    Kopieren
    $scriptPath = (Get-Item .).FullName
    $crt = "$($scriptPath)\client.pfx"
    $mypwd = Get-Credential -UserName 'Enter password' -Message 'Enter password'
    Import-PfxCertificate -FilePath $crt -CertStoreLocation Cert:\LocalMachine\My -Password $mypwd.Password

    Kopieren
    $scriptPath = (Get-Item .).FullName
    $crt = "$($scriptPath)\ca.crt"
    Import-Certificate -FilePath $crt -CertStoreLocation Cert:\LocalMachine\Root

  5. Geben Sie IIS-Benutzern Zugriff auf das Client-Zertifikat:

    1. Öffnen Sie „Computerzertifikate verwalten“ und suchen Sie das Client-Zertifikat.
    2. Klicken Sie mit der rechten Maustaste auf das Zertifikat, wählen Sie Alle Aufgaben und dann Private Schlüssel verwalten… aus.
    3. Fügen Sie IIS_IUSRS mit der Berechtigung Lesen hinzu.
    4. Klicken Sie auf Anwenden.

Wenn Sie verschiedene Computer zum Hosten des Blue Prism Decision Model Service Containers und Blue Prism Hub verwenden, müssen Sie Folgendes sicherstellen:

  • Der Decision Model Service Container-Host verfügt über die folgenden Dateien:
    • server.crt
    • server.key
    • ca.crt
  • Der Server, auf dem Blue Prism Hub ausgeführt wird, verfügt über die folgenden Dateien:
    • client.crt
    • ca.crt