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


« 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