Inhaltsverzeichnis
Runbook: Zertifikat ausstellen
Dauer: ~10 Minuten
Rolle: PKI-Operator
Voraussetzung: Genehmigter CSR
Workflow
flowchart TD
A[CSR empfangen] --> B{CSR validieren}
B -->|Ungültig| C[Ablehnen + Ticket]
B -->|Gültig| D{Genehmigung?}
D -->|Nein| E[Genehmigung anfordern]
D -->|Ja| F[Zertifikat signieren]
F --> G{Hybrid-Modus?}
G -->|Ja| H[PQ-Extension hinzufügen]
G -->|Nein| I[Klassisch signieren]
H --> J[Ausliefern]
I --> J
J --> K[Audit Log]
style B fill:#fff3e0
style F fill:#e8f5e9
style H fill:#e3f2fd
Schritt 1: CSR empfangen und validieren
Checkliste vor Signierung:
| # | Prüfpunkt | Befehl | Erwartet |
| — | ———– | ——– | ———- |
| 1 | CSR-Format gültig | openssl req -in request.csr -verify -noout | verify OK |
| 2 | Schlüssellänge | openssl req -in request.csr -text \| grep „Public-Key“ | ≥2048 Bit (RSA), ≥256 Bit (EC) |
| 3 | Subject korrekt | openssl req -in request.csr -subject -noout | Gemäß Antrag |
| 4 | SANs vollständig | openssl req -in request.csr -text \| grep -A1 „Subject Alternative“ | Alle Hostnamen |
# Komplette CSR-Prüfung openssl req -in request.csr -text -noout -verify
Schritt 2: Genehmigung prüfen
| Zertifikatstyp | Genehmigung durch | Dokumentation |
| —————- | ——————- | ————— |
| Server (intern) | Automatisch / Ticket | Ticket-Nr. |
| Server (extern) | IT-Security | E-Mail + Ticket |
| Client | Abteilungsleiter | Formular |
| Code-Signing | CISO | Schriftlich |
Schritt 3: Zertifikat signieren
Klassischer Modus
# Server-Zertifikat signieren (1 Jahr) openssl ca -config openssl.cnf \ -extensions server_cert \ -in request.csr \ -out certificate.pem \ -days 365 \ -notext # Seriennummer notieren openssl x509 -in certificate.pem -serial -noout
Hybrid-Modus (PQ)
// C# mit WvdS.System.Security.Cryptography using var intermediate = new X509Certificate2("intermediate.pfx", "password"); var csr = CertificateRequest.LoadSigningRequest( File.ReadAllBytes("request.csr"), HashAlgorithmName.SHA256); var cert = csr.Create( intermediate, DateTimeOffset.UtcNow, DateTimeOffset.UtcNow.AddDays(365), Guid.NewGuid().ToByteArray(), CryptoMode.Hybrid); // PQ-Extension File.WriteAllText("certificate.pem", cert.ExportCertificatePem());
Schritt 4: Ausliefern
| Format | Verwendung | Befehl |
| ——– | ———— | ——– |
| PEM | Linux, Apache | cp certificate.pem /output/ |
| PFX | Windows, IIS | openssl pkcs12 -export -in certificate.pem -inkey private.key -out certificate.pfx |
| DER | Java | openssl x509 -in certificate.pem -outform DER -out certificate.der |
# Mit Kette ausliefern cat certificate.pem intermediate.pem > fullchain.pem
Schritt 5: Dokumentation
Pflichtfelder im Ticket/Log:
| Feld | Beispiel |
| —— | ———- |
| Seriennummer | 01:23:45:67:89:AB:CD:EF |
| Subject | CN=server.example.com |
| Gültig bis | 2025-12-15 |
| Ausgestellt von | Operator-Name |
| Ticket-Nr. | INC-2024-12345 |
| Modus | Hybrid / Classic |
Fehlerbehebung
| Problem | Ursache | Lösung |
| ——— | ——— | ——– |
unable to load CSR | Falsches Format | openssl req -inform DER -in request.der -out request.pem |
signature verify failed | CSR manipuliert | CSR neu anfordern |
wrong issuer | Falsche CA | CA-Zertifikat prüfen |
certificate request failed | Konfigurationsfehler | openssl.cnf prüfen |
Verwandte Runbooks
- Zertifikat erneuern – Für ablaufende Zertifikate
- Zertifikat widerrufen – Bei Kompromittierung
- CSR Kurzreferenz – Code-Beispiele
« ← Tagesgeschäft | → Zertifikat erneuern »
Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional
Zuletzt geändert: den 29.01.2026 um 15:13