~~NOTOC~~
====== 2. Richieste di certificato (CSR) ======
**Scenari:** 4 \\
**Funzioni FFI:** ~25 \\
**Stato:** ⏳ Pianificato
Questa categoria comprende tutti gli scenari per la creazione e l'elaborazione di Certificate Signing Request (CSR). Dalle semplici richieste server alle complesse richieste Multi-SAN.
----
===== Scenari =====
^ ID ^ Scenario ^ Descrizione ^ Complessita ^ Stato ^
| [[.:csr_server|2.1]] | Creare CSR server | CSR per certificato server TLS | ⭐⭐ | ⏳ |
| [[.:csr_client|2.2]] | Creare CSR client | CSR per autenticazione client | ⭐⭐ | ⏳ |
| [[.:csr_multi_san|2.3]] | CSR Multi-SAN | CSR con piu Subject Alternative Names | ⭐⭐⭐ | ⏳ |
| [[.:csr_verarbeiten|2.4]] | Elaborare CSR | Validare, verificare, firmare CSR | ⭐⭐⭐ | ⏳ |
----
===== Workflow =====
flowchart LR
subgraph CLIENT["📝 Richiedente"]
K[Generare coppia di chiavi]
C[Creare CSR]
S[Firmare CSR]
end
subgraph CA["🔐 Certificate Authority"]
V[Validare CSR]
P[Verificare policy]
I[Emettere certificato]
end
K --> C --> S --> V --> P --> I
style K fill:#e3f2fd
style I fill:#e8f5e9
----
===== Contenuti CSR =====
^ Campo ^ Descrizione ^ Esempio ^
| Subject | Distinguished Name | CN=server.example.com, O=Org, C=IT |
| Public Key | ML-DSA-65 o Hybrid | Codificato SPKI |
| Attributes | Extensions richieste | SAN, Key Usage |
| Signature | Prova di possesso della chiave privata | Self-signed |
----
===== Avvio rapido codice =====
using WvdS.Security.Cryptography.X509Certificates.Extensions.PQ;
using var ctx = PqCryptoContext.Initialize();
// Coppia di chiavi per server
using var serverKey = ctx.GenerateKeyPair(PqAlgorithm.MlDsa65);
// Creare CSR
var csr = ctx.CreateCertificateRequest(
serverKey,
new DnBuilder().AddCN("server.example.com").AddO("My Org").Build(),
extensions: new ExtBuilder()
.SubjectAlternativeName(new[] { "server.example.com", "www.example.com" })
.KeyUsage(KeyUsageFlags.DigitalSignature | KeyUsageFlags.KeyEncipherment)
.ExtendedKeyUsage(ExtKeyUsage.ServerAuth)
.Build()
);
// Salvare CSR come PEM
File.WriteAllText("server.csr.pem", csr.ToPem());
-> //Esempio completo:// [[.:csr_server|Scenario 2.1]]
----
===== Categorie correlate =====
^ Categoria ^ Relazione ^
| [[.:pki:start|1. Infrastruttura PKI]] | CA per firmare i CSR |
| [[.:zertifikate:start|3. Emissione certificati]] | Il CSR diventa certificato |
| [[.:schluessel:start|11. Gestione chiavi]] | Gestire la chiave privata del CSR |
----
<< [[it:int:pqcrypt:szenarien:pki:start|← 1. Infrastruttura PKI]] | [[it:int:pqcrypt:szenarien:start|↑ Scenari]] | [[.:zertifikate:start|3. Emissione certificati →]] >>
----
//Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional//
{{tag>categoria csr richiesta-certificato request}}