Inhaltsverzeichnis
Runbook: Emissione certificato
Durata: ~10 minuti
Ruolo: Operatore PKI
Prerequisito: CSR approvato
Workflow
flowchart TD
A[CSR ricevuto] --> B{Validare CSR}
B -->|Non valido| C[Rifiutare + Ticket]
B -->|Valido| D{Approvazione?}
D -->|No| E[Richiedere approvazione]
D -->|Sì| F[Firmare certificato]
F --> G{Modalità ibrida?}
G -->|Sì| H[Aggiungere estensione PQ]
G -->|No| I[Firma classica]
H --> J[Consegnare]
I --> J
J --> K[Audit Log]
style B fill:#fff3e0
style F fill:#e8f5e9
style H fill:#e3f2fd
Passo 1: Ricevere e validare CSR
Checklist prima della firma:
| # | Punto di verifica | Comando | Atteso |
| — | ———– | ——– | ———- |
| 1 | Formato CSR valido | openssl req -in request.csr -verify -noout | verify OK |
| 2 | Lunghezza chiave | openssl req -in request.csr -text \| grep „Public-Key“ | ≥2048 Bit (RSA), ≥256 Bit (EC) |
| 3 | Subject corretto | openssl req -in request.csr -subject -noout | Secondo richiesta |
| 4 | SAN completi | openssl req -in request.csr -text \| grep -A1 „Subject Alternative“ | Tutti gli hostname |
# Verifica CSR completa openssl req -in request.csr -text -noout -verify
Passo 2: Verificare approvazione
| Tipo certificato | Approvazione da | Documentazione |
| —————- | ——————- | ————— |
| Server (interno) | Automatico / Ticket | Nr. Ticket |
| Server (esterno) | IT-Security | E-Mail + Ticket |
| Client | Responsabile reparto | Modulo |
| Code-Signing | CISO | Scritto |
Passo 3: Firmare certificato
Modalità classica
# Firmare certificato server (1 anno) openssl ca -config openssl.cnf \ -extensions server_cert \ -in request.csr \ -out certificate.pem \ -days 365 \ -notext # Annotare numero di serie openssl x509 -in certificate.pem -serial -noout
Modalità ibrida (PQ)
// C# con WvdS.System.Security.Cryptography using var intermediate = new X509Certificate2("intermediate.pfx", "password"); var csr = CertificateRequest.LoadSigningRequest( File.ReadAllBytes("request.csr"), HashAlgorithmName.SHA256); var cert = csr.Create( intermediate, DateTimeOffset.UtcNow, DateTimeOffset.UtcNow.AddDays(365), Guid.NewGuid().ToByteArray(), CryptoMode.Hybrid); // Estensione PQ File.WriteAllText("certificate.pem", cert.ExportCertificatePem());
Passo 4: Consegnare
| Formato | Utilizzo | Comando |
| ——– | ———— | ——– |
| PEM | Linux, Apache | cp certificate.pem /output/ |
| PFX | Windows, IIS | openssl pkcs12 -export -in certificate.pem -inkey private.key -out certificate.pfx |
| DER | Java | openssl x509 -in certificate.pem -outform DER -out certificate.der |
# Consegnare con catena cat certificate.pem intermediate.pem > fullchain.pem
Passo 5: Documentazione
Campi obbligatori nel ticket/log:
| Campo | Esempio |
| —— | ———- |
| Numero di serie | 01:23:45:67:89:AB:CD:EF |
| Subject | CN=server.example.com |
| Valido fino a | 2025-12-15 |
| Emesso da | Nome-Operatore |
| Nr. Ticket | INC-2024-12345 |
| Modalità | Hybrid / Classic |
Risoluzione problemi
| Problema | Causa | Soluzione |
| ——— | ——— | ——– |
unable to load CSR | Formato errato | openssl req -inform DER -in request.der -out request.pem |
signature verify failed | CSR manipolato | Richiedere nuovo CSR |
wrong issuer | CA errata | Verificare certificato CA |
certificate request failed | Errore configurazione | Verificare openssl.cnf |
Runbook correlati
- Rinnovo certificato - Per certificati in scadenza
- Revoca certificato - In caso di compromissione
- Riferimento rapido CSR - Esempi di codice
« Operatività quotidiana | Rinnovo certificato »
Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional
Zuletzt geändert: il 30/01/2026 alle 06:30