~~NOTOC~~
====== 4. Gestire certificati ======
**Scenari:** 4 \\
**Funzioni FFI:** ~30 \\
**Stato:** Pianificato
Questa categoria comprende tutti gli scenari per la gestione del ciclo di vita dei certificati. Rinnovo, Re-Key, archiviazione e backup dei certificati.
----
===== Scenari =====
^ ID ^ Scenario ^ Descrizione ^ Complessità ^ Stato ^
| [[.:renewal|4.1]] | Rinnovare certificato (Renewal) | Prolungare certificato in scadenza | Media | Pianificato |
| [[.:rekey|4.2]] | Rinnovare chiave (Re-Key) | Nuova coppia chiavi, nuovo certificato | Media | Pianificato |
| [[.:archivierung|4.3]] | Archiviare certificati | Conservare certificati scaduti in sicurezza | Bassa | Pianificato |
| [[.:backup|4.4]] | Backup & Recovery | Salvare certificati e chiavi | Media | Pianificato |
----
===== Ciclo di vita =====
flowchart LR
subgraph ACTIVE["Attivo"]
NEW[Appena emesso]
INUSE[In uso]
end
subgraph RENEWAL["Rinnovo"]
RENEW[Renewal]
REKEY[Re-Key]
end
subgraph END["Fine"]
EXPIRE[Scaduto]
REVOKE[Revocato]
ARCHIVE[Archiviato]
end
NEW --> INUSE
INUSE --> RENEW --> INUSE
INUSE --> REKEY --> INUSE
INUSE --> EXPIRE --> ARCHIVE
INUSE --> REVOKE --> ARCHIVE
style INUSE fill:#e8f5e9
style REVOKE fill:#ffcdd2
----
===== Renewal vs Re-Key =====
^ Operazione ^ Chiave ^ Serial ^ Caso d'uso ^
| **Renewal** | Stessa | Nuova | Chiave ancora sicura, solo prolungare validità |
| **Re-Key** | Nuova | Nuova | Sospetto compromissione, cambio algoritmo |
**Best Practice:** Durante la migrazione PQ eseguire sempre Re-Key per passare da algoritmi classici a ML-DSA.
----
===== Automazione =====
^ Trigger ^ Azione ^ Anticipo ^
| 30 giorni prima della scadenza | Avviso via e-mail | - |
| 14 giorni prima della scadenza | Avviare auto-renewal | - |
| 7 giorni prima della scadenza | Escalation | - |
| Scadenza | Disattivare certificato | - |
----
===== Guida rapida al codice =====
==== Renewal ====
// Caricare certificato esistente
var oldCert = ctx.LoadCertificate("server.crt.pem");
var privateKey = ctx.LoadPrivateKey("server.key.pem", password);
// Renewal: nuovo certificato con stessa chiave
var csr = ctx.CreateCertificateRequest(privateKey, oldCert.Subject);
var newCert = ctx.IssueCertificate(csr, issuerCert, issuerKey, validDays: 365);
newCert.ToPemFile("server-renewed.crt.pem");
==== Re-Key ====
// Generare nuova coppia di chiavi (es. migrazione a ML-DSA)
using var newKey = ctx.GenerateKeyPair(PqAlgorithm.MlDsa65);
// CSR con nuova chiave, stesso subject
var csr = ctx.CreateCertificateRequest(newKey, oldCert.Subject);
var newCert = ctx.IssueCertificate(csr, issuerCert, issuerKey, validDays: 365);
// Distruggere in sicurezza la vecchia chiave
oldKey.Dispose();
----
===== Categorie correlate =====
^ Categoria ^ Relazione ^
| [[it:int:pqcrypt:szenarien:zertifikate:start|3. Emettere certificati]] | Nuovo certificato con Re-Key |
| [[it:int:pqcrypt:szenarien:widerruf:start|6. Revoca]] | Revocare vecchio certificato con Re-Key |
| [[it:int:pqcrypt:szenarien:schluessel:start|11. Gestione chiavi]] | Rotazione chiavi |
----
<< [[it:int:pqcrypt:szenarien:zertifikate:start|← 3. Emettere certificati]] | [[it:int:pqcrypt:szenarien:start|↑ Scenari]] | [[it:int:pqcrypt:szenarien:validierung:start|5. Validazione →]] >>
----
//Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional//
{{tag>categoria gestione renewal rekey archiviazione backup}}