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.

Das S/MIME-Modul unterstützt keine Eingangsnachrichten im p7m-Format.

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.

Beispielaufruf Schlüssel erzeugen

keytool  \\
  -genkey  \\
  -dname "O=Virtimo, C=de"  \\
  -validity 365  \\
  -keystore smime.keystore  \\
  -keypass inubit  \\
  -storepass inubit  \\
  -alias inubit  \\
  -keyalg RSA

Beispielaufruf Zertifikat erzeugen

keytool \\
  -export \\
  -keystore smime.keystore \\
  -alias inubit \\
  -file smime.cer

Modulvariablen des S/MIME Utility

Die folgende Tabelle enthält Variablen, die vom S/MIME Utility basierend auf der Eingangsnachricht gesetzt werden:

Modulvariable Wert

SMIMEEncryptionAlgorithm

Algorithmus, der für die Verschlüsselung des Nachrichteninhalts verwendet wurde.

SMIMEKeyEncryptionAlgorithm

Verschlüsselungsalgorithmus für Schlüssel, der benutzt wird, um symmetrische Schlüssel für die Verschlüsselung des Inhalts auszutauschen.

SMIMEisEncyrpted

Information, ob die Nachricht verschlüsselt ist (SMIMEisEncyrpted=true) oder nicht (SMIMEisEncyrpted=false).

SMIMEHashingAlgorithm

Für die Nachricht benutzter Signatur-Hash-Algorithmus

SMIMESignatureAlgorithm

Für die Nachricht benutzter Signaturalgorithmus

SMIMEisSigned

Information, ob die Nachricht signiert ist (SMIMEisSigned=true) oder nicht (SMIMEisSigned=false).

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

Verwendung

Für die Option MIME verschlüsseln

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.algo setzen. 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-OAEP ausgewä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.algo aktivieren oder deaktivieren.

  • Key-Wrap-Algorithmus

    Wenn Sie den Verschlüsselungsalgorithmus für Schlüssel ECDH ausgewä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 ECDH ausgewä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

Verwendung

Für die Option MIME entschlüsseln

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

Verwendung

Für die Option MIME signieren

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.algo setzen. 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

Verwendung

Für die Option MIME-Signatur überprüfen / Signierte Daten entpacken

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.

Signierte Daten entpacken

Wenn aktiviert, wird die signierte Nachricht ohne Signaturüberprüfung unverändert entpackt und weitergeleitet. Anderenfalls werden die signierten Nutzdaten aus der Nachricht entnommen und nur diese weitergeleitet.

Zusätzliche Header kopieren

Wenn aktiviert, werden die Nachrichten-Header zusätzlich mit kopiert.

Zertifikat des Signierenden hinzufügen

Klicken Sie auf den Button, um das Zertifikat des Signierenden hinzuzufügen.

Ein bereits hinzugefügtes Zertifikat wird überschrieben.

Daten des Zertifikats

Dieses Fenster zeigt das bereits hinzugefügte Zertifikat an.