Zum Inhalt springen

S/MIME-Verschlüsselungsanforderungen für den Email-Connector in Jitterbit Integration Studio

Einführung

Der Email-Connector ermöglicht es Ihnen, S/MIME (Secure/Multipurpose Internet Mail Extensions) zu verwenden, um eine Email vor dem Versand mit der Email senden-Aktivität zu signieren oder zu signieren und zu verschlüsseln. Sie können auch signierte und/oder verschlüsselte Emails mit der Email lesen-Aktivität lesen.

S/MIME-Zertifikate verwenden die Public-Key-Verschlüsselung. Um eine Email zu verschlüsseln, benötigen Sie den öffentlichen Schlüssel des Empfängers. Um eine verschlüsselte Email zu empfangen, benötigt der Absender Ihren öffentlichen Schlüssel.

Diese Seite erklärt, wie Sie ein persönliches öffentliches/privates Schlüsselpaar erstellen. Sie müssen Ihren öffentlichen Schlüssel mit anderen teilen, um verschlüsselte Emails zu empfangen, aber Ihren privaten Schlüssel sicher aufbewahren.

Wichtig

Wenn Sie einen Cloud-Anbieter wie Microsoft 365 Outlook mit einem Exchange Online-Konto verwenden, benötigen Sie ein S/MIME-Zertifikat von einer vertrauenswürdigen Zertifizierungsstelle (CA), wie z. B. Let's Encrypt. Selbstsignierte Zertifikate funktionieren nicht mit Cloud-Anbietern.

Während der Prozess zur Konfiguration von S/MIME bei anderen Anbietern ähnlich sein sollte, hat Jitterbit S/MIME nur mit Microsoft Outlook validiert.

Schritt-für-Schritt-Anleitung

Diese Anweisungen verwenden OpenSSL, obwohl auch andere Tools Zertifikate erstellen können. Wenn Sie Windows verwenden, führen Sie Ihre Eingabeaufforderung als Administrator aus.

Schritt 1: Erstellen Sie eine OpenSSL-Konfigurationsdatei

Überspringen Sie diesen Schritt, wenn Ihre OpenSSL-Distribution bereits eine Standardkonfigurationsdatei mit den erforderlichen Erweiterungen enthält. Wenn Sie die Datei openssl.exe (aus dem Installationsverzeichnis von OpenSSL) ausführen, sehen Sie eine Warnung, wenn keine Konfigurationsdatei vorhanden ist.

Falls erforderlich, erstellen Sie eine Datei mit dem Namen smime.cnf mit dieser Konfiguration:

[req]
distinguished_name = req_distinguished_name

[req_distinguished_name]
countryName = Country Name (2 letter code)
countryName_default = AU
countryName_min = 2
countryName_max = 2
stateOrProvinceName = State or Province Name (full name)
stateOrProvinceName_default = Some-State
localityName = Locality Name (eg, city)
0.organizationName = Organization Name (eg, company)
0.organizationName_default = Internet Widgits Pty Ltd
organizationalUnitName = Organizational Unit Name (eg, section)
commonName = Common Name (e.g. server FQDN or YOUR name)
commonName_max = 64
emailAddress = Email Address
emailAddress_max = 64

[v3_ca]
basicConstraints = critical, CA:TRUE
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always, issuer

[smime]
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
extendedKeyUsage = emailProtection
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always, issuer
subjectAltName = email:copy

Setzen Sie als Nächstes die Umgebungsvariable OPENSSL_CONF, um auf diese Konfigurationsdatei zu verweisen. Geben Sie in einem Terminal den folgenden Befehl ein:

set OPENSSL_CONF=c:/openssl/smime.cnf
export OPENSSL_CONF=/usr/bin/openssl

Schritt 2: Generieren Sie einen RSA-Privatschlüssel für die Zertifizierungsstelle

Führen Sie diesen Befehl aus, um einen RSA-Privatschlüssel für die Zertifizierungsstelle zu generieren:

openssl genrsa -aes256 -out ca.key 4096
openssl genpkey -aes256 -algorithm RSA -pkeyopt rsa_keygen_bits:4096 -out ca.key

In den obigen Beispielen geben die Optionen an, dass der aes256 Verschlüsselungsalgorithmus verwendet wird und die Ergebnisse in eine Datei mit dem Namen ca.key und einer Größe von 4096 Bit ausgegeben werden.

Sie werden aufgefordert, eine Passphrase für diesen Schlüssel zu erstellen. Bewahren Sie diese Passphrase für die Verwendung in Schritt 3 auf.

Schritt 3: Erstellen Sie ein selbstsigniertes Zertifikat für die Zertifizierungsstelle

Führen Sie diesen Befehl aus, um ein selbstsigniertes Zertifikat zu erstellen:

openssl req -new -x509 -days 3650 -key ca.key -out ca.crt -extensions v3_ca
openssl req -new -x509 -days 3650 -key ca.key -out ca.crt -extensions v3_ca

Das obige Beispiel gibt an, dass das generierte Zertifikat für 10 Jahre gültig ist und den in Schritt 2 erstellten privaten Schlüssel verwendet. Der Befehl -x509 gibt an, dass es sich um ein selbstsigniertes Zertifikat handelt. Es wird auch das Zertifikat in eine Datei mit dem Namen ca.crt geschrieben.

Hinweis

Wenn Ihre OpenSSL-Distribution bereits eine geeignete Konfigurationsdatei hat (Sie haben Schritt 1 übersprungen), entfernen Sie den Parameter -extensions v3_ca aus diesem Befehl.

Befolgen Sie die Eingabeaufforderungen und geben Sie die Passphrase aus Schritt 2 ein. Dies erstellt Ihre Zertifizierungsstelle.

Schritt 4: Generieren Sie einen privaten Schlüssel für das persönliche Email-Zertifikat

Führen Sie diesen Befehl aus, um einen neuen privaten Schlüssel für Ihr persönliches Zertifikat zu erstellen:

openssl genrsa -aes256 -out personal.key 4096
openssl genpkey -aes256 -algorithm RSA -pkeyopt rsa_keygen_bits:4096 -out personal.key

Geben Sie ein neues Passwort ein (anders als das in Schritt 2). Bewahren Sie dieses Passwort für Schritt 5 auf.

Hinweis

Sie können auch kryptografische Algorithmen verwenden, die nicht RSA sind, wie z.B. ECC.

Schritt 5: Erstellen Sie die Zertifikatsanforderung

Führen Sie diesen Befehl aus, um die Zertifikatsanforderung zu erstellen:

openssl req -new -key personal.key -out personal.csr
openssl req -new -key personal.key -out personal.csr

Geben Sie das Passwort ein, das Sie in Schritt 4 erstellt haben. Wenn Sie nach einem "Common Name" gefragt werden, verwenden Sie einen anderen Namen als den, den Sie in Schritt 3 verwendet haben.

Schritt 6: Signieren Sie das Zertifikat mit der Zertifizierungsstelle

Führen Sie diesen Befehl aus, um das Zertifikat zu signieren (unter Verwendung der Konfigurationsdatei aus Schritt 1):

openssl x509 -req -days 3650 -in personal.csr -CA ca.crt -CAkey ca.key -set_serial 1 -out personal.crt -addtrust emailProtection -addreject clientAuth -addreject serverAuth -trustout -extfile c:\openssl\smime.cnf -extensions smime
openssl x509 -req -days 3650 -in personal.csr -CA ca.crt -CAkey ca.key -set_serial 1 -out personal.crt -sha256

Wenn Sie dazu aufgefordert werden, geben Sie das Passwort für den privaten Schlüssel der Zertifizierungsstelle aus Schritt 2 ein.

Hinweis

Wenn Ihre OpenSSL-Distribution bereits eine geeignete Konfigurationsdatei hat (Sie haben Schritt 1 übersprungen), entfernen Sie die Argumente -extfile und -extensions aus dem Windows-Befehl. Stellen Sie sicher, dass die erforderlichen Erweiterungen in Ihrer Standardkonfigurationsdatei vorhanden sind.

Schritt 7: Erstellen Sie eine PKCS#12-Archivdatei

Führen Sie den folgenden Befehl aus, um ein PKCS#12-Archiv zu erstellen, das Ihren privaten Schlüssel und Ihr Zertifikat enthält:

openssl pkcs12 -export -in personal.crt -inkey personal.key -out personal.p12
openssl pkcs12 -inkey personal.key -in personal.crt -export -out personal.pfx

Wenn Sie dazu aufgefordert werden, geben Sie das Passwort ein, das mit Ihrem persönlichen privaten Schlüssel erstellt wurde, der in Schritt 4 erstellt wurde. Erstellen Sie ein weiteres Passwort, das beim Importieren der .p12-Datei in einen Email-Client verwendet wird. Bewahren Sie dieses zweite Passwort auf, da Sie es benötigen, um die S/MIME-Verschlüsselung entweder in den Aktivitäten Email lesen oder Email senden zu aktivieren.

Warnung

Teilen Sie Ihren privaten Schlüssel niemals mit jemandem. Andere benötigen Ihren öffentlichen Schlüssel, um Ihnen verschlüsselte Emails zu senden, aber nur Sie sollten Ihren privaten Schlüssel haben.

Schritt 8: Zertifikat in einen Agentenpfad importieren

Verschieben Sie die in Schritt 7 erstellte .p12- oder .pfx-Datei in einen für den Agenten sichtbaren Pfad (zum Beispiel in den Resources-Ordner). Importieren Sie dann das Zertifikat in den Standardtruststore von Java (siehe Zertifikate hinzufügen für Anweisungen).

Hinweis

Beim Importieren des Zertifikats in den Standardtruststore bewahren Sie den Alias, den Sie zur Identifizierung verwenden, da Sie ihn benötigen, um die S/MIME-Verschlüsselung entweder in den Aktivitäten Email lesen oder Email senden zu aktivieren.

Nächste Schritte

Jetzt, da Ihr selbstsigniertes S/MIME-Zertifikat erstellt wurde, kann es verwendet werden, um Ihre Emails zu signieren oder zu signieren und zu verschlüsseln, sowie um Emails zu lesen, die signiert oder verschlüsselt wurden. Indem Sie Ihren öffentlichen Schlüssel einem Absender zur Verfügung stellen, können Sie verschlüsselte Emails von ihm empfangen. Sobald ein Empfänger Ihnen seinen öffentlichen Schlüssel zur Verfügung stellt, können Sie ihm ebenfalls eine verschlüsselte Email senden.