8. Digitalni podpisi
Scenariji: 4
FFI-funkcije: ~30
Status: ⏳ Načrtovano
Ta kategorija zajema vse scenarije za ustvarjanje in verifikacijo digitalnih podpisov. Podpisovanje dokumentov, podpisovanje kode in časovni žigi z ML-DSA.
Scenariji
| ID | Scenarij | Opis | Kompleksnost | Status |
|---|---|---|---|---|
| 8.1 | Podpisovanje dokumentov | Podpisovanje PDF, XML, JSON | ⭐⭐⭐ | ⏳ |
| 8.2 | Podpisovanje kode | Izvršljive datoteke, DLL-ji, paketi | ⭐⭐⭐ | ⏳ |
| 8.3 | Časovni žig | Zaupanja vreden časovni žig (RFC 3161) | ⭐⭐⭐⭐ | ⏳ |
| 8.4 | Verifikacija podpisa | Preverjanje podpisov | ⭐⭐ | ⏳ |
Potek dela pri podpisovanju
flowchart LR
subgraph SIGN["Podpisovanje"]
DOC[Dokument/Koda]
HASH[Izračun zgoščene vrednosti]
SIG[Ustvarjanje podpisa]
end
subgraph VERIFY["Verifikacija"]
VHASH[Izračun zgoščene vrednosti]
VSIG[Preverjanje podpisa]
VCERT[Validacija certifikata]
end
DOC --> HASH --> SIG
DOC --> VHASH
SIG --> VSIG
VSIG --> VCERT
style SIG fill:#e8f5e9
style VCERT fill:#e3f2fd
Podpisni algoritmi
| Način | Algoritem | Dolžina podpisa | Standard |
|---|---|---|---|
| PostQuantum | ML-DSA-65 | 3309 bajtov | NIST FIPS 204 |
| Hibridni | ECDSA P-384 + ML-DSA-65 | ~3400 bajtov | Kompozitni podpisi |
| Klasični | ECDSA P-384 | 96 bajtov | NIST FIPS 186-5 |
Priporočilo: Za dolgoročno arhiviranje uporabite hibridne podpise. Oba podpisa morata biti prelomljena.
Formati podpisov
| Format | Uporaba | Vsebuje |
|---|---|---|
| CMS/PKCS#7 | Splošno, e-pošta | Podpis + certifikat + opcijski časovni žig |
| XML-DSig | SOAP, SAML | Podpis v XML strukturi |
| JWS | REST API-ji, JWT | JSON Web Signature |
| Authenticode | Windows PE | Podpisovanje kode za EXE/DLL |
Panožne zahteve
| Panoga | Tip podpisa | Zahteve |
|---|---|---|
| Zdravstvo | Kvalificiran podpis (QES) | Skladen z eIDAS, gematik |
| Avtomobilska industrija | Podpisovanje kode | UNECE R156, Secure Boot |
| Energetika | Dokument + časovni žig | Revizijske zahteve, NIS2 |
| Industrija 4.0 | Podpisovanje strojne programske opreme | IEC 62443 |
Hiter začetek s kodo
Podpisovanje dokumenta
using WvdS.Security.Cryptography.Signatures.Extensions.PQ; // Nalaganje podpisnega ključa var signingKey = ctx.LoadPrivateKey("signing.key.pem", password); var signingCert = ctx.LoadCertificate("signing.crt.pem"); // Podpisovanje dokumenta (CMS/PKCS#7) byte[] document = File.ReadAllBytes("vertrag.pdf"); var signature = ctx.SignData( data: document, privateKey: signingKey, certificate: signingCert, mode: CryptoMode.Hybrid, options: new SignatureOptions { IncludeCertificate = true, AddTimestamp = true, TimestampServer = "http://timestamp.example.com" } ); File.WriteAllBytes("vertrag.pdf.p7s", signature);
Verifikacija podpisa
// Nalaganje podpisa byte[] signature = File.ReadAllBytes("vertrag.pdf.p7s"); byte[] document = File.ReadAllBytes("vertrag.pdf"); // Verifikacija var result = ctx.VerifySignature( data: document, signature: signature, trustStore: trustStore ); if (result.IsValid) { Console.WriteLine($"Podpisal: {result.SignerCertificate.Subject}"); Console.WriteLine($"Časovni žig: {result.Timestamp}"); }
Povezane kategorije
| Kategorija | Povezava |
|---|---|
| 3. Izdaja certifikatov | Certifikati za podpisovanje kode |
| 5. Validacija | Validacija certifikata podpisa |
| 9. Avtentikacija | Podpis kot metoda avtentikacije |
« ← 7. Šifriranje | ↑ Scenariji | 9. Avtentikacija → »
Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional
Zuletzt geändert: dne 30.01.2026 ob 06:40