Inhaltsverzeichnis
Scenario 3.5: Emettere certificato Wildcard
Categoria: Emettere certificati
Complessità: Alta
Prerequisiti: Controllo dominio, Intermediate-CA
Tempo stimato: 15-20 minuti
Descrizione
Questo scenario descrive l'emissione di un certificato Wildcard (*.example.com). I certificati Wildcard proteggono tutti i sottodomini di un dominio con un singolo certificato.
Vantaggi:
- Un certificato per tutti i sottodomini
- Gestione semplificata
- Più conveniente
Svantaggi:
- Rischio maggiore in caso di compromissione
- Non copre il dominio root
- Solo un livello
Regole Wildcard
| Pattern | Copre | NON copre |
|---|---|---|
*.example.com | www.example.com, api.example.com | example.com, sub.api.example.com |
*.api.example.com | v1.api.example.com | api.example.com |
Importante: *.example.com NON copre example.com (senza sottodominio)! Aggiungere sempre entrambi come SAN.
Esempio codice (C#)
using WvdS.Security.Cryptography.X509Certificates.Extensions.PQ; using var ctx = PqCryptoContext.Initialize(); var caCert = ctx.LoadCertificate("intermediate-ca.crt.pem"); var caKey = ctx.LoadPrivateKey("intermediate-ca.key.pem", "CaPassword!"); // Schlüsselpaar für Wildcard using var wildcardKey = ctx.GenerateKeyPair(PqAlgorithm.MlDsa65); var dn = new DnBuilder() .AddCN("*.example.com") .AddO("Example GmbH") .AddC("DE") .Build(); // CSR erstellen var csr = ctx.CreateCertificateRequest( wildcardKey, dn, new ExtBuilder() // Wildcard + Root-Domain .SubjectAlternativeName(new[] { "dns:*.example.com", "dns:example.com" }) .Build() ); // Wildcard-Zertifikat ausstellen var wildcardCert = ctx.IssueCertificate( csr, issuerCert: caCert, issuerKey: caKey, serialNumber: ctx.GenerateSerialNumber(), validDays: 365, extensions: new ExtBuilder() .BasicConstraints(ca: false, critical: true) .KeyUsage(KeyUsageFlags.DigitalSignature | KeyUsageFlags.KeyEncipherment) .ExtendedKeyUsage(ExtKeyUsage.ServerAuth) .SubjectKeyIdentifier(csr.PublicKey) .AuthorityKeyIdentifier(caCert) .CrlDistributionPoint("http://crl.example.com/intermediate.crl") .Build() ); wildcardCert.ToPemFile("wildcard.crt.pem"); wildcardKey.ToEncryptedPemFile("wildcard.key.pem", "SecurePassword!");
Wildcard multi-livello
Per più livelli di sottodominio combinare più wildcard:
.SubjectAlternativeName(new[] { "dns:example.com", "dns:*.example.com", // www, api, app, etc. "dns:*.dev.example.com", // dev1.dev, dev2.dev, etc. "dns:*.staging.example.com" // staging environments })
Note di sicurezza
Rischi dei certificati Wildcard:
- Una compromissione interessa TUTTI i sottodomini
- La chiave privata è necessaria in più luoghi
- La revoca interessa tutti i servizi
Best Practice:
- Conservare la chiave privata centralmente (HSM)
- Validità breve (max. 1 anno)
- Certificati Wildcard separati per Prod/Dev/Staging
- Monitoraggio per tutti i sottodomini
Scenari correlati
| Relazione | Scenario | Descrizione |
|---|---|---|
| Alternativa | 3.1 Certificato server | Certificato singolo |
| Alternativa | 2.3 CSR Multi-SAN | SAN espliciti |
| Passo successivo | 10.1 Server TLS | Deployment |
« ← 3.4 Certificato S/MIME | ↑ Panoramica certificati | 4. Gestire certificati → »
Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional
Zuletzt geändert: il 30/01/2026 alle 07:19