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.