====== Scenarij 3.4: Izdajanje S/MIME certifikata ======
**Kategorija:** [[.:start|Izdajanje certifikatov]] \\
**Kompleksnost:** ⭐⭐⭐ (Srednje-visoka) \\
**Predpogoji:** CSR z e-poštnim naslovom \\
**Predviden čas:** 10-15 minut
----
===== Opis =====
Ta scenarij opisuje izdajanje **S/MIME certifikata** za šifriranje in podpisovanje e-pošte. S/MIME certifikati omogočajo varno e-poštno komunikacijo z digitalnimi podpisi in šifriranjem.
**Funkcije:**
* Podpisovanje e-pošte (avtentičnost, celovitost)
* Šifriranje e-pošte (zaupnost)
* Preverjanje pošiljatelja
----
===== Primer kode (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"));
// Izdajanje S/MIME certifikata
var smimeCert = ctx.IssueCertificate(
csr,
issuerCert: caCert,
issuerKey: caKey,
serialNumber: ctx.GenerateSerialNumber(),
validDays: 365,
extensions: new ExtBuilder()
.BasicConstraints(ca: false, critical: true)
// Key Usage za podpisovanje IN šifriranje
.KeyUsage(
KeyUsageFlags.DigitalSignature |
KeyUsageFlags.KeyEncipherment |
KeyUsageFlags.DataEncipherment,
critical: true
)
// Extended Key Usage: Email Protection
.ExtendedKeyUsage(ExtKeyUsage.EmailProtection)
// E-poštni naslov kot SAN (OBVEZNO za S/MIME!)
.SubjectAlternativeName(new[] {
"email:max.mustermann@example.com"
})
.SubjectKeyIdentifier(csr.PublicKey)
.AuthorityKeyIdentifier(caCert)
.Build()
);
smimeCert.ToPemFile("smime.crt.pem");
// PFX za uvoz v e-poštni odjemalec
var pfx = ctx.ExportToPfx(smimeCert, smimeKey, new[] { caCert }, "Password!");
File.WriteAllBytes("smime.pfx", pfx);
----
===== Tipi S/MIME certifikatov =====
^ Tip ^ Validacija ^ Uporaba ^
| Class 1 | Nadzor e-pošte | Osebno, brezplačno |
| Class 2 | Preverjanje identitete | Poslovno |
| Class 3 | Razširjeno preverjanje | Enterprise, kvalificirano |
----
===== Podrobnosti Key Usage =====
^ Zastavica ^ Uporaba pri S/MIME ^
| digitalSignature | Podpisovanje e-pošte |
| keyEncipherment | Šifriranje ključa seje (RSA) |
| dataEncipherment | Neposredno šifriranje podatkov |
| nonRepudiation | Pravno zavezujoč podpis (opcijsko) |
----
===== Uvoz v Outlook / Thunderbird =====
1. Dvoklik na PFX datoteko
2. Sledite čarovniku za uvoz
3. Vnesite geslo
4. "Samodejno izberi shrambo"
5. V Outlook: Datoteka → Možnosti → Središče zaupanja → Varnost e-pošte
----
===== Povezani scenariji =====
^ Povezava ^ Scenarij ^ Opis ^
| **Povezano** | [[sl:int:pqcrypt:szenarien:signaturen:dokument_signieren|8.1 Podpisovanje dokumenta]] | E-pošta kot dokument |
| **Povezano** | [[sl:int:pqcrypt:szenarien:verschluesselung:hybrid_encryption|7.1 Hibridno šifriranje]] | Šifriranje e-pošte |
| **Predpogoj** | [[sl:int:pqcrypt:szenarien:csr:csr_client|2.2 Client-CSR]] | CSR z e-pošto |
----
<< [[.:codesign_cert|← 3.3 Code-Signing]] | [[.:start|↑ Pregled certifikatov]] | [[.:wildcard_cert|3.5 Wildcard certifikat →]] >>
{{tag>scenarij certifikat smime epošta šifriranje podpis}}
----
//Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional//