Szenario 3.4: S/MIME-Zertifikat ausstellen

Kategorie: Zertifikate ausstellen
Komplexität: ⭐⭐⭐ (Mittel-Hoch)
Voraussetzungen: CSR mit E-Mail-Adresse
Geschätzte Zeit: 10-15 Minuten


Beschreibung

Dieses Szenario beschreibt die Ausstellung eines S/MIME-Zertifikats für E-Mail-Verschlüsselung und -Signierung. S/MIME-Zertifikate ermöglichen sichere E-Mail-Kommunikation durch digitale Signaturen und Verschlüsselung.

Funktionen:

  • E-Mail-Signierung (Authentizität, Integrität)
  • E-Mail-Verschlüsselung (Vertraulichkeit)
  • Absender-Verifikation

Code-Beispiel (C#)

using WvdS.Security.Cryptography.X509Certificates.Extensions.PQ;
 
using var ctx = PqCryptoContext.Initialize();
 
var caCert = ctx.LoadCertificate("user-ca.crt.pem");
var caKey = ctx.LoadPrivateKey("user-ca.key.pem", "CaPassword!");
 
var csr = ctx.LoadCertificateRequest(File.ReadAllText("smime.csr.pem"));
 
// S/MIME-Zertifikat ausstellen
var smimeCert = ctx.IssueCertificate(
    csr,
    issuerCert: caCert,
    issuerKey: caKey,
    serialNumber: ctx.GenerateSerialNumber(),
    validDays: 365,
    extensions: new ExtBuilder()
        .BasicConstraints(ca: false, critical: true)
        // Key Usage für Signierung UND Verschlüsselung
        .KeyUsage(
            KeyUsageFlags.DigitalSignature |
            KeyUsageFlags.KeyEncipherment |
            KeyUsageFlags.DataEncipherment,
            critical: true
        )
        // Extended Key Usage: Email Protection
        .ExtendedKeyUsage(ExtKeyUsage.EmailProtection)
        // E-Mail-Adresse als SAN (PFLICHT für S/MIME!)
        .SubjectAlternativeName(new[] {
            "email:max.mustermann@example.com"
        })
        .SubjectKeyIdentifier(csr.PublicKey)
        .AuthorityKeyIdentifier(caCert)
        .Build()
);
 
smimeCert.ToPemFile("smime.crt.pem");
 
// PFX für E-Mail-Client-Import
var pfx = ctx.ExportToPfx(smimeCert, smimeKey, new[] { caCert }, "Password!");
File.WriteAllBytes("smime.pfx", pfx);

S/MIME Zertifikatstypen

Typ Validierung Verwendung
Class 1 E-Mail-Kontrolle Persönlich, kostenlos
Class 2 Identitätsprüfung Business
Class 3 Erweiterte Prüfung Enterprise, Qualifiziert

Key Usage Details

Flag Verwendung bei S/MIME
digitalSignature E-Mail signieren
keyEncipherment Session Key verschlüsseln (RSA)
dataEncipherment Daten direkt verschlüsseln
nonRepudiation Rechtsgültige Signatur (optional)

Outlook / Thunderbird Import

1. PFX-Datei doppelklicken
2. Importassistent folgen
3. Passwort eingeben
4. "Automatisch Speicher wählen"
5. In Outlook: Datei → Optionen → Trust Center → E-Mail-Sicherheit

Verwandte Szenarien

Beziehung Szenario Beschreibung
Verwandt 8.1 Dokument signieren E-Mail als Dokument
Verwandt 7.1 Hybrid-Encryption E-Mail-Verschlüsselung
Voraussetzung 2.2 Client-CSR CSR mit E-Mail

« ← 3.3 Code-Signing | ↑ Zertifikate-Übersicht | 3.5 Wildcard-Zertifikat → »


Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional

Zuletzt geändert: den 29.01.2026 um 15:13