====== Scenarij 3.4: Izdavanje S/MIME certifikata ======
**Kategorija:** [[.:start|Izdavanje certifikata]] \\
**Složenost:** ⭐⭐⭐ (Srednje-Visoka) \\
**Preduvjeti:** CSR s e-mail adresom \\
**Procijenjeno vrijeme:** 10-15 minuta
----
===== Opis =====
Ovaj scenarij opisuje izdavanje **S/MIME certifikata** za šifriranje i potpisivanje e-pošte. S/MIME certifikati omogućuju sigurnu komunikaciju putem e-pošte kroz digitalne potpise i šifriranje.
**Funkcije:**
* Potpisivanje e-pošte (autentičnost, integritet)
* Šifriranje e-pošte (povjerljivost)
* Verifikacija pošiljatelja
----
===== Primjer koda (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"));
// Izdavanje 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 potpisivanje I šifriranje
.KeyUsage(
KeyUsageFlags.DigitalSignature |
KeyUsageFlags.KeyEncipherment |
KeyUsageFlags.DataEncipherment,
critical: true
)
// Extended Key Usage: Email Protection
.ExtendedKeyUsage(ExtKeyUsage.EmailProtection)
// E-mail adresa kao SAN (OBAVEZNO za S/MIME!)
.SubjectAlternativeName(new[] {
"email:max.mustermann@example.com"
})
.SubjectKeyIdentifier(csr.PublicKey)
.AuthorityKeyIdentifier(caCert)
.Build()
);
smimeCert.ToPemFile("smime.crt.pem");
// PFX za uvoz u e-mail klijent
var pfx = ctx.ExportToPfx(smimeCert, smimeKey, new[] { caCert }, "Password!");
File.WriteAllBytes("smime.pfx", pfx);
----
===== Tipovi S/MIME certifikata =====
^ Tip ^ Validacija ^ Uporaba ^
| Class 1 | Kontrola e-pošte | Osobno, besplatno |
| Class 2 | Provjera identiteta | Poslovno |
| Class 3 | Proširena provjera | Enterprise, Kvalificirano |
----
===== Detalji Key Usage =====
^ Oznaka ^ Uporaba kod S/MIME ^
| digitalSignature | Potpisivanje e-pošte |
| keyEncipherment | Šifriranje Session ključa (RSA) |
| dataEncipherment | Izravno šifriranje podataka |
| nonRepudiation | Pravno valjan potpis (opcionalno) |
----
===== Uvoz u Outlook / Thunderbird =====
1. Dvostruki klik na PFX datoteku
2. Slijediti čarobnjaka za uvoz
3. Unijeti lozinku
4. "Automatski odaberi spremište"
5. U Outlooku: Datoteka → Mogućnosti → Trust Center → Sigurnost e-pošte
----
===== Povezani scenariji =====
^ Odnos ^ Scenarij ^ Opis ^
| **Povezano** | [[hr:int:pqcrypt:szenarien:signaturen:dokument_signieren|8.1 Potpisivanje dokumenta]] | E-pošta kao dokument |
| **Povezano** | [[hr:int:pqcrypt:szenarien:verschluesselung:hybrid_encryption|7.1 Hibridno šifriranje]] | Šifriranje e-pošte |
| **Preduvjet** | [[hr:int:pqcrypt:szenarien:csr:csr_client|2.2 Klijentski CSR]] | CSR s e-poštom |
----
<< [[.:codesign_cert|← 3.3 Code-Signing]] | [[.:start|↑ Pregled certifikata]] | [[.:wildcard_cert|3.5 Wildcard certifikat →]] >>
{{tag>scenarij certifikat smime email šifriranje potpis}}
----
//Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional//