~~NOTOC~~
====== 3. Emettere certificati ======
**Scenari:** 5 \\
**Funzioni FFI:** ~35 \\
**Stato:** Pianificato
Questa categoria comprende tutti gli scenari per l'emissione di certificati End-Entity. Certificati server, client, code-signing e S/MIME con algoritmi Post-Quantum.
----
===== Scenari =====
^ ID ^ Scenario ^ Descrizione ^ Complessità ^ Stato ^
| [[.:server_cert|3.1]] | Certificato server | Emettere certificato server TLS/HTTPS | Media | Pianificato |
| [[.:client_cert|3.2]] | Certificato client | Autenticazione client mTLS | Media | Pianificato |
| [[.:codesign_cert|3.3]] | Certificato code-signing | Firma software | Media | Pianificato |
| [[.:smime_cert|3.4]] | Certificato S/MIME | Crittografia e firma e-mail | Media | Pianificato |
| [[.:wildcard_cert|3.5]] | Certificato Wildcard | Certificati *.domain.com | Alta | Pianificato |
----
===== Tipi di certificato =====
flowchart TB
CA[Intermediate-CA] --> |emette| SRV[Certificato server]
CA --> |emette| CLI[Certificato client]
CA --> |emette| CS[Code-Signing]
CA --> |emette| SM[S/MIME]
SRV --> |utilizzato per| TLS[TLS/HTTPS]
CLI --> |utilizzato per| MTLS[mTLS Auth]
CS --> |utilizzato per| SIGN[Firma software]
SM --> |utilizzato per| MAIL[Sicurezza e-mail]
style CA fill:#e8f5e9
style SRV fill:#e3f2fd
style CLI fill:#fff3e0
style CS fill:#fce4ec
style SM fill:#f3e5f5
----
===== Key Usage per tipo certificato =====
^ Tipo ^ Key Usage ^ Extended Key Usage ^ Validità ^
| Server | digitalSignature, keyEncipherment | serverAuth | 1-2 anni |
| Client | digitalSignature | clientAuth | 1-2 anni |
| Code-Signing | digitalSignature | codeSigning | 2-3 anni |
| S/MIME | digitalSignature, keyEncipherment | emailProtection | 1-2 anni |
----
===== Requisiti specifici per settore =====
^ Settore ^ Tipo certificato ^ Particolarità ^
| **Energia/SCADA** | Server | Validità lunga (5+ anni), validazione offline |
| **Sanità** | Client | OID gematik, compatibilità eGK |
| **Automotive** | Server + Client | Extension specifiche V2X |
| **Industria 4.0** | Server | Compatibile OPC UA, IEC 62443 |
----
===== Guida rapida al codice =====
using WvdS.Security.Cryptography.X509Certificates.Extensions.PQ;
// CSR laden
var csr = ctx.LoadCertificateRequest("server.csr.pem");
// Mit Intermediate-CA signieren
using var serverCert = ctx.IssueCertificate(
csr,
issuerCert: intermediateCaCert,
issuerKey: intermediateCaKey,
serialNumber: ctx.GenerateSerialNumber(),
validDays: 365,
extensions: new ExtBuilder()
.BasicConstraints(ca: false)
.KeyUsage(KeyUsageFlags.DigitalSignature | KeyUsageFlags.KeyEncipherment)
.ExtendedKeyUsage(ExtKeyUsage.ServerAuth)
.SubjectKeyIdentifier(csr.PublicKey)
.AuthorityKeyIdentifier(intermediateCaCert)
.CrlDistributionPoint("http://crl.example.com/intermediate.crl")
.Build()
);
serverCert.ToPemFile("server.crt.pem");
-> //Esempio completo:// [[.:server_cert|Scenario 3.1]]
----
===== Categorie correlate =====
^ Categoria ^ Relazione ^
| [[it:int:pqcrypt:szenarien:csr:start|2. CSR]] | CSR come input |
| [[it:int:pqcrypt:szenarien:verwaltung:start|4. Gestire certificati]] | Gestione certificati emessi |
| [[it:int:pqcrypt:szenarien:tls:start|10. TLS/mTLS]] | Deploy certificati server |
----
<< [[it:int:pqcrypt:szenarien:csr:start|← 2. CSR]] | [[it:int:pqcrypt:szenarien:start|↑ Scenari]] | [[it:int:pqcrypt:szenarien:verwaltung:start|4. Gestire certificati →]] >>
----
//Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional//
{{tag>categoria certificati emettere server client codesigning}}