Riferimento rapido

Esempi di codice compatti per iniziare rapidamente. Per spiegazioni dettagliate vedere gli scenari collegati.


PKI e certificati

Esempio Descrizione Dettagli
Infrastruttura PKI Root-CA, Intermediate-CA, gerarchia → Scenari PKI
Creare CSR Server, Client, Code-Signing → Scenari CSR
Gestione certificati Rinnovo, Re-Key, Revoca → Scenari gestione
Validazione Catena, Hostname, Key Usage → Scenari validazione

Firme

Esempio Descrizione Dettagli
Firme digitali RSA, ECDSA, CMS Hybrid → Scenari firma

Scambio chiavi e cifratura

Esempio Descrizione Dettagli
Cifratura ML-KEM, Hybrid, AES-GCM → Scenari cifratura
Gestione chiavi Generazione, Rotazione, Backup → Scenari chiavi

Import/Export

Esempio Descrizione Dettagli
Import/Export PEM, PFX, PKCS#7 → Scenari Import/Export

Avvio rapido: Workflow completo

using WvdS.System.Security.Cryptography;
using WvdS.System.Security.Cryptography.KeyExchange;
using WvdS.System.Security.Cryptography.Encryption;
 
// 1. Configurazione
CryptoConfig.DefaultMode = CryptoMode.Hybrid;
 
// 2. Scambio chiavi
using var mlKem = MlKem.Create(MlKemParameterSet.MlKem768);
byte[] publicKey = mlKem.ExportPublicKey();
 
// Mittente: Encapsulate
var encap = MlKem.Encapsulate(publicKey);
byte[] ciphertext = encap.Ciphertext;
byte[] senderSecret = encap.SharedSecret;
 
// Destinatario: Decapsulate
byte[] receiverSecret = mlKem.Decapsulate(ciphertext);
 
// 3. Derivazione chiavi
byte[] aesKey = KeyDerivationExtensions.DeriveKey(
    receiverSecret,
    outputLength: 32,
    info: Encoding.UTF8.GetBytes("AES-256-GCM"));
 
// 4. Cifratura
var aes = new Aes256Gcm(aesKey);
byte[] encrypted = aes.Encrypt(plaintext);
byte[] decrypted = aes.Decrypt(encrypted);

Approfondimenti


Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional

Zuletzt geändert: il 30/01/2026 alle 08:31