Create SAN CSR with certutil
Hallo zusammen,
Wie man Certificate Signing Requests (CSR) mit Subject Alternative Names (SAN) mittels Openssl oder über Custom Request in der Zertifikatskonsole macht habe ich ja schon gebloggt.
Heute zeige ich euch, wie man einen Zertifikatsrequest mit dem Komandozeilentool certreq erstellt.
Als erstes muss eine “RequestPolicy.inf” Datei erstellt werden. Die sieht etwa so aus
[NewRequest]
FriendlyName = "fe2013.icewolf.ch"
Subject = "CN=fe2013.icewolf.ch, O=Icewolf, OU=IT, S=BE, L=Bern, C=CH"
;Because SSL/TLS does not require a Subject name when a SAN extension is included, the certificate Subject name can be empty.
;If you are using another protocol, verify the certificate requirements.
RequestType=PKCS10
Exportable = TRUE ; TRUE = Private key is exportable
KeyLength = 2048 ; Valid key sizes: 1024, 2048, 4096, 8192, 16384
KeySpec = 1 ; Key Exchange Required for encryption
KeyUsage = "CERT_DIGITAL_SIGNATURE_KEY_USAGE | CERT_KEY_ENCIPHERMENT_KEY_USAGE"
ProviderName = "Microsoft Software Key Storage Provider"
[EnhancedKeyUsageExtension]
OID=1.3.6.1.5.5.7.3.1 ; Server Authentication
OID=1.3.6.1.5.5.7.3.2 ; Client Authentication
[Extensions]
2.5.29.17 = "{text}"
_continue_ = "dns=fe2013.icewolf.ch&" ; put your subject alternate names here
_continue_ = "dns=dialin.icewolf.ch&"
_continue_ = "dns=meet.icewolf.ch&"
_continue_ = "email=a.bohren@icewolf.ch"
Certificate Signing Request erstellen
Mit dem folgenden Befehl erstellt man mithilfe von certreq und der RequestPolicy.inf den CSR
certreq -new -machine C:\Install\RequestPolicy.inf C:\Install\Request.csr
Certificate Signing Request prüfen
certutil -dump C:\Install\Request.csr
Das Zertifikat
Nach dem Ausstellen des Zertifikats sieht das dann so aus.
CSR an Online Certification Authority senden
Mit Certreq kann man den CSR auch gleich an die Windows Onlice Certification Authority senden.
Dafür muss man aber im “RequestPolicy.inf” noch die Zertifikatsvorlage vor dem austellen des CSR spezifizieren
[RequestAttributes]
CertificateTemplate = Webserver
Der so erstellte CSR kann mit dem folgenden Befehl an die Online CA gesendet werden. Das Popup fragt bei welcher CA man den Request plazieren will.
certreq -submit certificate_request.csr
Wird das Zertifikat gleich ausgestellt, so kann man es gleich abspeichern.
Muss der Request zuerst manuell Approved werden, so kann man das Zertifikat später mit der ID holen
certreq -retrieve 89
Nun kann das Zertifikat installiert werden
certreq -accept -machine C:\Install\test.cer
Danach sieht man das Zertifikat im Zertifikatsspeicher von Windows
Weitere Informationen:
Grüsse
Andres Bohren