Inhaltsverzeichnis
Scenarij 3.5: Izdavanje Wildcard certifikata
Kategorija: Izdavanje certifikata
Složenost: ⭐⭐⭐⭐ (Visoka)
Preduvjeti: Kontrola domene, Intermediate-CA
Procijenjeno vrijeme: 15-20 minuta
Opis
Ovaj scenarij opisuje izdavanje Wildcard certifikata (*.example.com). Wildcard certifikati osiguravaju sve poddomene jedne domene s jednim certifikatom.
Prednosti:
- Jedan certifikat za sve poddomene
- Jednostavnije upravljanje
- Isplativije
Nedostaci:
- Viši rizik kod kompromitacije
- Ne pokriva root domenu
- Samo jedna razina
Wildcard pravila
| Uzorak | Pokriva | NE pokriva |
|---|---|---|
*.example.com | www.example.com, api.example.com | example.com, sub.api.example.com |
*.api.example.com | v1.api.example.com | api.example.com |
Važno: *.example.com NE pokriva example.com (bez poddomene)! Uvijek dodajte oboje kao SAN.
Primjer koda (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!"); // Par ključeva za Wildcard using var wildcardKey = ctx.GenerateKeyPair(PqAlgorithm.MlDsa65); var dn = new DnBuilder() .AddCN("*.example.com") .AddO("Example GmbH") .AddC("DE") .Build(); // Kreiranje CSR-a var csr = ctx.CreateCertificateRequest( wildcardKey, dn, new ExtBuilder() // Wildcard + Root-domena .SubjectAlternativeName(new[] { "dns:*.example.com", "dns:example.com" }) .Build() ); // Izdavanje Wildcard certifikata 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!");
Višerazinski Wildcard
Za više razina poddomena kombinirajte više wildcarda:
.SubjectAlternativeName(new[] { "dns:example.com", "dns:*.example.com", // www, api, app, itd. "dns:*.dev.example.com", // dev1.dev, dev2.dev, itd. "dns:*.staging.example.com" // staging okruženja })
Sigurnosne napomene
Rizici Wildcard certifikata:
- Kompromitacija utječe na SVE poddomene
- Privatni ključ potreban na više mjesta
- Opoziv utječe na sve usluge
Najbolje prakse:
- Centralno pohraniti privatni ključ (HSM)
- Kratka valjanost (maksimalno 1 godina)
- Odvojeni Wildcard certifikati za Prod/Dev/Staging
- Nadzor za sve poddomene
Povezani scenariji
| Odnos | Scenarij | Opis |
|---|---|---|
| Alternativa | 3.1 Poslužiteljski certifikat | Pojedinačni certifikat |
| Alternativa | 2.3 Multi-SAN CSR | Eksplicitni SAN-ovi |
| Sljedeći korak | 10.1 TLS poslužitelj | Implementacija |
« ← 3.4 S/MIME certifikat | ↑ Pregled certifikata | 4. Upravljanje certifikatima → »
Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional
Zuletzt geändert: 30.01.2026. u 07:35