S/MIME
Verwendung
Mit dem S/MIME-Modul können Sie Eingangsnachrichten im MIME-Format verschlüsseln, entschlüsseln, signieren sowie vorhandene Signaturen prüfen.
RSA PKCS 1.5, PSS und OAEP werden ebenso unterstützt wie öffentliche EC und RSA-Schlüssellängen von 2048 Bit.
Schlüssel und Zertifikate erstellen
Für die Verschlüsselung benötigen Sie Schlüssel, diese können Sie mit dem keytool von Java erstellen. Den Algorithmus, der zur Schlüsselerzeugung eingesetzt werden soll, geben Sie beim Erzeugen der Schlüssel an.
Für Informationen über den Aufruf von keytool, siehe SSL-Verbindung und Server-Authentifizierung konfigurieren.
Modulvariablen des S/MIME Utility
Die folgende Tabelle enthält Variablen, die vom S/MIME Utility basierend auf der Eingangsnachricht gesetzt werden:
| Modulvariable | Wert |
|---|---|
|
Algorithmus, der für die Verschlüsselung des Nachrichteninhalts verwendet wurde. |
|
Verschlüsselungsalgorithmus für Schlüssel, der benutzt wird, um symmetrische Schlüssel für die Verschlüsselung des Inhalts auszutauschen. |
|
Information, ob die Nachricht verschlüsselt ist ( |
|
Für die Nachricht benutzter Signatur-Hash-Algorithmus |
|
Für die Nachricht benutzter Signaturalgorithmus |
|
Information, ob die Nachricht signiert ist ( |
|
Base64-kodiertes Zertifikat (DER), mit dem die Signatur geprüft wurde. Wird nur gesetzt, wenn die Option In Nachricht eingebettetes Zertifikat verwenden aktiv ist. |
|
Anzahl der Anhänge, die nach der Validierung der Anhänge in die Ausgabe übernommen wurden. Wird nur gesetzt, wenn ein Anhangstyp-Filter oder eine maximale Anzahl an Anhängen aktiv ist. |
Dialogbeschreibungen S/MIME
Dialog S/MIME-Konfiguration
-
MIME verschlüsseln
Ausgehende Nachrichten werden im S/MIME-Format verschlüsselt.
Dafür müssen Sie als Sender den öffentlichen Schlüssel des Empfängers kennen. Diese Information hinterlegen Sie im folgenden Dialog.
-
MIME entschlüsseln
Das Utility soll eingehende Nachrichten entschlüsseln. Dafür benötigen Sie den privaten Schlüssel des Empfängers.
Diese Information hinterlegen Sie im nächsten Dialog.
-
MIME signieren
Das Utility signiert die ausgehenden Nachrichten, das heißt, die Nachrichten werden mit einer verschlüsselten Prüfsumme versehen.
Dafür benötigen Sie einen privaten Schlüssel, diese Information hinterlegen Sie im nächsten Dialog. Der Empfänger der Nachrichten muss den dazugehörigen öffentlichen Schlüssel besitzen, um die Korrektheit der Signatur prüfen zu können.
-
MIME-Signatur prüfen / Signierte Daten entpacken
Ermöglicht/Überprüft die Korrektheit der Signaturen in der Eingangsnachricht, indem die Signaturen mit dem öffentlichen Schlüssel des Absenders verglichen werden. Diese Information hinterlegen Sie im nächsten Dialog. Ermöglicht ein Entpacken der Nachricht ohne vorherige Signaturprüfung sowie ein separates Kopieren der Nachrichten-Header.
Dialog S/MIME-Verschlüsselung
Wird bei Verwendung der Option MIME verschlüsseln angezeigt,
Dieser Dialog bietet folgende Optionen:
-
Verschlüsselungsalgorithmus
Wählen Sie den Verschlüsselungsalgorithmus aus der Drop-down-Liste.
Um den Verschlüsselungsalgorithmus über die Moduleigenschaften zu setzen, verwenden Sie die Variable
smime.encryption.algo. Setzen Sie dort den Namen des Algorithmus gemäß nachfolgender Bezeichnungen. -
Algorithmus zur Verschlüsselung von Schlüsseln
Wenn kein Verschlüsselungsalgorithmus ausgewählt ist, wird der im Zertifikat gesetzte Verschlüsselungsalgorithmus für Schlüssel (Key-Encryption-Algorithm) berücksichtigt.
Sie können den Algorithmus zur Verschlüsselung von Schlüsseln auch über die Moduleigenschaft
smime.key.encryption.algosetzen. Ist die Moduleigenschaft gesetzt, hat sie Vorrang gegenüber dem in diesem Dialog konfigurierten Wert. -
Hashing Algorithmus
Wenn Sie den Algorithmus zur Verschlüsselung von Schlüsseln
RSAES-OAEPausgewählt haben, können Sie einen Hashing Algorithmus aus der Drop-Down-Liste auswählen.SHA-1 ist standardmäßig ausgewählt.
Sie können den Hashing Algorithmus mit der Moduleigenschaft
smime.rsaoaep.hash.algoaktivieren oder deaktivieren. -
Key-Wrap-Algorithmus
Wenn Sie den Verschlüsselungsalgorithmus für Schlüssel
ECDHausgewählt haben, müssen Sie den Key-Wrap-Algorithmus aus der Dropdown-Liste auswählen. Dieser Algorithmus verschlüsselt und sichert die kryptographischen Schlüssel beim Speichern oder bei der Übertragung mittels eines weiteren Schlüssels wie AES-Schlüssel Wrap ab.AES128_WRAP ist standardmäßig ausgewählt.
-
Key Derivation Function
Wenn Sie den Verschlüsselungsalgorithmus für Schlüssel
ECDHausgewählt haben, müssen Sie Key Derivation Function aus der Dropdown-Liste auswählen. Diese Funktion erzeugt die kryptographischen Schlüssel aus Inputs und wird benutzt, um den Schlüssel zu erzeugen und den passwortbasierten Schlüssel, wie KDF, abzuleiten.ECDH_SHA256KDF ist standardmäßig ausgewählt.
-
Zertifikat des Empfängers hinzufügen
Klicken Sie auf Hinzufügen, um die Zertifikatsdatei hinzuzufügen.
-
Daten des Zertifikats
Dieses Fenster zeigt ein bereits hinzugefügtes Zertifikat an.
Dialog S/MIME-Entschlüsselung
Wird bei Verwendung der Option MIME entschlüsseln angezeigt.
|
In INUBIT wird intern Bouncy Castle verwendet, um Nachrichten automatisch mit dem passenden Entschlüsselungsalgorithmus zu entschlüsseln. |
Privaten Schlüssel hinzufügen
Klicken Sie auf Hinzufügen, um den privaten Schlüssel im JKS-Format hinzuzufügen.
Öffentliche Daten des Schlüssels
Dieses Fenster zeigt bereits hinzugefügte private Schlüssel an.
Dialog S/MIME-Signierung
Wird bei Verwendung der Option MIME signieren angezeigt.
Dieser Dialog bietet folgende Optionen:
-
Hashing Algorithmus
Wählen Sie den Hashing Algorithmus aus der Drop-down-Liste.
-
Signaturalgorithmus
Wenn kein Signaturalgorithmus ausgewählt ist, wird der im Zertifikat konfigurierte Signaturalgorithmus berücksichtigt.
Sie können den Signaturalgorithmus auch über die Moduleigenschaft
smime.signature.algosetzen. Ist die Moduleigenschaft gesetzt, hat sie Vorrang gegenüber dem in diesem Dialog konfigurierten Wert. -
Privaten Schlüssel hinzufügen
Klicken Sie auf Hinzufügen, um den privaten Schlüssel im JKS-Format hinzuzufügen.
-
Öffentliche Daten des Schlüssels
Dieses Fenster zeigt einen bereits hinzugefügten privaten Schlüssel an.
Dialog S/MIME-Signatur überprüfen / Signierte Daten entpacken
Wird bei Verwendung der Option MIME-Signatur überprüfen / Signierte Daten entpacken angezeigt. In diesem Dialog legen Sie fest, ob die Signatur geprüft wird, welche Daten weitergeleitet werden und welches Zertifikat für die Prüfung verwendet wird.
Signaturüberprüfung aktivieren
Wenn aktiviert, wird die Korrektheit der Signaturen in der Eingangsnachricht überprüft, indem die Signaturen mit dem öffentlichen Schlüssel des Absenders validiert werden. Schlägt die Prüfung fehl, bricht das Modul mit einer Fehlermeldung ab.
Signierte Daten entpacken
Wenn aktiviert, werden die signierten Nutzdaten aus der Nachricht entnommen und nur diese weitergeleitet. Ist zusätzlich Signaturüberprüfung aktivieren ausgewählt, werden die Nutzdaten erst nach erfolgreicher Prüfung entnommen. Inhalte, die außerhalb des signierten Bereichs der Nachricht stehen, werden dabei nicht übernommen.
Ist diese Option deaktiviert, wird die Eingangsnachricht nach erfolgreicher Prüfung unverändert weitergeleitet.
Zusätzliche Header kopieren
Wenn aktiviert, werden die Nachrichten-Header zusätzlich mit kopiert. Diese Option ist nur verfügbar, wenn Signierte Daten entpacken ausgewählt ist.
Validierung der Anhänge
Mit der Validierung der Anhänge legen Sie fest, welche Anhänge aus dem signierten Bereich einer Nachricht übernommen werden und wie viele Anhänge eine Nachricht enthalten darf. Die Optionen sind nur verfügbar, wenn Signierte Daten entpacken ausgewählt ist.
Als Anhang gilt jeder Nachrichtenteil, der einen Dateinamen besitzt oder als Anhang (Content-Disposition: attachment) gekennzeichnet ist.
- Erlaubter Anhangstyp
-
Content-Type der Anhänge, die in die Ausgabe übernommen werden, z. B.
application/pdf. Sie können einen Wert aus der Liste auswählen oder einen eigenen Wert eingeben. Mehrere Typen trennen Sie durch Kommas, z. B.application/pdf, application/xml. Ein Typ trifft auch zu, wenn der Content-Type eines Anhangs mit ihm beginnt, z. B. erfasstimage/alle Bildformate.Anhänge, die keinem der Typen entsprechen, werden aus der Ausgabe entfernt. Entspricht kein Anhang den angegebenen Typen, bricht das Modul mit einer Fehlermeldung ab.
Standardwert ist
*/*, damit werden alle Anhangstypen übernommen. - Maximal erlaubte Anhänge
-
Maximale Anzahl an Anhängen, die eine Nachricht enthalten darf. Gezählt werden die Anhänge, die dem erlaubten Anhangstyp entsprechen. Enthält die Nachricht mehr Anhänge, bricht das Modul mit einer Fehlermeldung ab.
- Unbegrenzt
-
Wenn aktiviert, ist die Anzahl der Anhänge nicht begrenzt und das Feld Maximal erlaubte Anhänge ist deaktiviert. Diese Option ist standardmäßig aktiviert.
Die Anzahl der übernommenen Anhänge wird in der Modulvariable SMIMEAttachmentCount ausgegeben.
Die ursprünglichen MIME-Header, die Message-ID und die MIME-Boundaries der Nachricht bleiben dabei erhalten.
|
Sie können die Validierung der Anhänge auch über die Moduleigenschaften |
Öffentliches Zertifikat des Senders
In diesem Bereich legen Sie fest, mit welchem Zertifikat die Signatur geprüft wird. Dafür stehen folgende Optionen zur Verfügung:
- Statische Zertifikatsdaten verwenden
-
Die Signatur wird mit einem Zertifikat geprüft, das Sie im Modul hinterlegen. Diese Option ist bei neuen Modulen standardmäßig ausgewählt.
Klicken Sie auf Hinzufügen, um das Zertifikat des Signierenden hinzuzufügen. Unterstützt werden einzelne X.509-Zertifikate im PEM- oder DER-Format, Java KeyStores (JKS) sowie PKCS#7-Dateien (
.p7b,.p7c,.p7s). Enthält eine PKCS#7-Datei eine Zertifikatskette, wird automatisch das Zertifikat des Unterzeichners verwendet. Ein bereits hinzugefügtes Zertifikat wird überschrieben.Das Feld Daten des Zertifikats zeigt das hinzugefügte Zertifikat an.
Sie können das Zertifikat auch über die Moduleigenschaft
smime.certificate.dataals Base64-kodierten Wert übergeben. Dort werden ebenfalls einzelne Zertifikate und PKCS#7-Strukturen mit Zertifikatsketten unterstützt. - Aus dem Credentials Manager auswählen
-
Die Signatur wird mit einem Zertifikat geprüft, das im Credentials Manager hinterlegt ist. Wählen Sie dafür den Alias des Zertifikats aus.
- In Nachricht eingebettetes Zertifikat verwenden
-
Die Signatur wird mit dem Zertifikat geprüft, das der Absender in der signierten Nachricht mitsendet. Sie müssen dafür kein Zertifikat im Modul hinterlegen.
Das verwendete Zertifikat wird in der Modulvariable
SMIMEVerifyCertDataausgegeben.Bei dieser Option wird das eingebettete Zertifikat nicht gegen ein vertrauenswürdiges Zertifikat oder eine Zertifizierungsstelle geprüft. Eine erfolgreiche Prüfung bestätigt nur, dass die Nachricht nach dem Signieren nicht verändert wurde, aber nicht die Identität des Absenders. Prüfen Sie das Zertifikat aus
SMIMEVerifyCertDataim weiteren Workflow, wenn Sie den Absender authentifizieren müssen.