Inhaltsverzeichnis
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