Inhaltsverzeichnis
Scenario 3.4: Emettere certificato S/MIME
Categoria: Emettere certificati
Complessità: Media
Prerequisiti: CSR con indirizzo e-mail
Tempo stimato: 10-15 minuti
Descrizione
Questo scenario descrive l'emissione di un certificato S/MIME per crittografia e firma e-mail. I certificati S/MIME consentono comunicazione e-mail sicura attraverso firme digitali e crittografia.
Funzioni:
- Firma e-mail (autenticità, integrità)
- Crittografia e-mail (riservatezza)
- Verifica mittente
Esempio codice (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);
Tipi di certificato S/MIME
| Tipo | Validazione | Utilizzo |
|---|---|---|
| Class 1 | Controllo e-mail | Personale, gratuito |
| Class 2 | Verifica identità | Business |
| Class 3 | Verifica estesa | Enterprise, qualificato |
Dettagli Key Usage
| Flag | Utilizzo con S/MIME |
|---|---|
| digitalSignature | Firmare e-mail |
| keyEncipherment | Crittografare session key (RSA) |
| dataEncipherment | Crittografare dati direttamente |
| nonRepudiation | Firma legalmente valida (opzionale) |
Import Outlook / Thunderbird
1. Doppio clic sul file PFX 2. Seguire assistente importazione 3. Inserire password 4. "Seleziona automaticamente archivio" 5. In Outlook: File → Opzioni → Centro protezione → Sicurezza e-mail
Scenari correlati
| Relazione | Scenario | Descrizione |
|---|---|---|
| Correlato | 8.1 Firmare documento | E-mail come documento |
| Correlato | 7.1 Crittografia ibrida | Crittografia e-mail |
| Prerequisito | 2.2 CSR Client | CSR con e-mail |
« ← 3.3 Code-Signing | ↑ Panoramica certificati | 3.5 Certificato Wildcard → »
Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional
Zuletzt geändert: il 30/01/2026 alle 07:18