====== Szenario 3.4: S/MIME-Zertifikat ausstellen ====== **Kategorie:** [[.:start|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** | [[de:int:pqcrypt:szenarien:signaturen:dokument_signieren|8.1 Dokument signieren]] | E-Mail als Dokument | | **Verwandt** | [[de:int:pqcrypt:szenarien:verschluesselung:hybrid_encryption|7.1 Hybrid-Encryption]] | E-Mail-Verschlüsselung | | **Voraussetzung** | [[de:int:pqcrypt:szenarien:csr:csr_client|2.2 Client-CSR]] | CSR mit E-Mail | ---- << [[.:codesign_cert|← 3.3 Code-Signing]] | [[.:start|↑ Zertifikate-Übersicht]] | [[.:wildcard_cert|3.5 Wildcard-Zertifikat →]] >> {{tag>szenario zertifikat smime email verschluesselung signatur}} ---- //Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional//