3. Issue Certificates
Scenarios: 5
FFI Functions: ~35
Status: Planned
This category covers all scenarios for issuing end-entity certificates. Server, client, code-signing, and S/MIME certificates with Post-Quantum algorithms.
Scenarios
| ID | Scenario | Description | Complexity | Status |
|---|---|---|---|---|
| 3.1 | Server Certificate | Issue TLS/HTTPS server certificate | * | Planned | | 3.2 | Client Certificate | mTLS client authentication | * | Planned |
| 3.3 | Code-Signing Certificate | Software signing | * | Planned | | 3.4 | S/MIME Certificate | Email encryption and signing | * | Planned |
| 3.5 | Wildcard Certificate | *.domain.com certificates | Planned |
Certificate Types
flowchart TB
CA[Intermediate CA] --> |issues| SRV[Server Certificate]
CA --> |issues| CLI[Client Certificate]
CA --> |issues| CS[Code-Signing]
CA --> |issues| SM[S/MIME]
SRV --> |used for| TLS[TLS/HTTPS]
CLI --> |used for| MTLS[mTLS Auth]
CS --> |used for| SIGN[Software Signature]
SM --> |used for| MAIL[Email Security]
style CA fill:#e8f5e9
style SRV fill:#e3f2fd
style CLI fill:#fff3e0
style CS fill:#fce4ec
style SM fill:#f3e5f5
Key Usage per Certificate Type
| Type | Key Usage | Extended Key Usage | Validity |
|---|---|---|---|
| Server | digitalSignature, keyEncipherment | serverAuth | 1-2 years |
| Client | digitalSignature | clientAuth | 1-2 years |
| Code-Signing | digitalSignature | codeSigning | 2-3 years |
| S/MIME | digitalSignature, keyEncipherment | emailProtection | 1-2 years |
Industry-Specific Requirements
| Industry | Certificate Type | Specifics |
|---|---|---|
| Energy/SCADA | Server | Long validity (5+ years), offline validation |
| Healthcare | Client | gematik OIDs, eGK compatibility |
| Automotive | Server + Client | V2X-specific extensions |
| Industry 4.0 | Server | OPC UA compatible, IEC 62443 |
Quick Start Code
using WvdS.Security.Cryptography.X509Certificates.Extensions.PQ; // Load CSR var csr = ctx.LoadCertificateRequest("server.csr.pem"); // Sign with Intermediate CA using var serverCert = ctx.IssueCertificate( csr, issuerCert: intermediateCaCert, issuerKey: intermediateCaKey, serialNumber: ctx.GenerateSerialNumber(), validDays: 365, extensions: new ExtBuilder() .BasicConstraints(ca: false) .KeyUsage(KeyUsageFlags.DigitalSignature | KeyUsageFlags.KeyEncipherment) .ExtendedKeyUsage(ExtKeyUsage.ServerAuth) .SubjectKeyIdentifier(csr.PublicKey) .AuthorityKeyIdentifier(intermediateCaCert) .CrlDistributionPoint("http://crl.example.com/intermediate.crl") .Build() ); serverCert.ToPemFile("server.crt.pem");
→ Complete example: Scenario 3.1
Related Categories
| Category | Relationship |
|---|---|
| 2. CSR | CSR as input |
| 4. Manage Certificates | Manage issued certificates |
| 10. TLS/mTLS | Deploy server certificates |
« <- 2. CSR | ^ Scenarios | 4. Manage Certificates -> »
Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional
Zuletzt geändert: on 2026/01/30 at 12:36 AM