Ab dem 01.01.2016 wird Microsoft SSL Zertifikate mit SHA1 als Hashalgorithmus für ungültig erklären. Webserver oder Dienste die Zertifikate mit SHA1 nutzen, lösen also Zertifikatswarnungen im Browser bei den Benutzern aus. Daher sollte langsam aber sicher damit begonnen werden, SHA1 Zertifikate auszutauschen. Damit eine interne CA Zertifikate mit SHA256 (SHA2) ausstellen kann, muss die CA von SHA1 auf SHA2 umgestellt werden. Hier gibt es das entsprechende Howto:
Hier sieht man das der Hashalgorithmus der CA auf SHA1 steht. Die CA kann somit auch nur Zertifikate mit SHA1 ausstellen.
Als Beispiel hier ein IIS Webserver der sein Zertifikat von der CA mit SHA1 bezogen hat. Auch hier ist der Hashalgorithmus SHA1
Um die CA auf SHA256 (SHA2) umzustellen, muss der folgende Befehl auf der Kommandozeile ausgeführt werden:
certutil -setreg ca\csp\CNGHashAlgorithm SHA256
Wenn die Ausgabe wie oben ausschaut, muss die CA neugestartet werden, also einmal stoppen und wieder starten:
Ob SHA256 als Hashalgorithmus genutzt wird, lässt sich wieder in den Eigenschaften der CA prüfen
Somit haben wir den Hashalgorithmus der CA auf SHA-256 geändert. Zuvor ausgestellte Zertifikate behalten ihre Gültigkeit, natürlich ändert sich nichts an den Zertifikaten, wie hier noch einmal im Beispiel des IIS
Erst neue oder erneuerte Zertifikate werden mit SHA-256 signiert. Über die Zertifikate-SnapIn in der MMC können Zertifikate erneuert werden:
Nachdem das Zertifikat erneuert wurde, wurde es mit SHA256 durch die CA signiert:
Und hier noch einmal das Beispiel mit dem IIS, alles gültig, mit SHA256:
Das Root-Zertifikat enthält natürlich auch noch SHA1 als Hashalgorithmus, denn es wurde bisher nicht erneuert. Es besteht allerdings nicht unbedingt die Notwendigkeit bis 2016 das Root-Zertifikat zu erneuern, den Zertifizierungsstellen Zertifikate behalten auch mit SHA1 ihre Gültigkeit.
Auch hier lässt sich das Zertifikat entsprechend erneuern (Achtung: der Assistent hält die CA an):
Nachdem das Zertifikat erneuert wurde enthält es ebenfalls SHA256:
Und hier noch einmal zum Vergleich das Beispiel IIS, alte und neue Zertifikate behalten Ihre Gültigkeit.
Natürlich müssen alte SHA1 Zertifikate erneuert werden, damit ab 2016 keine Zertifikatswarnungen auftauchen, allerdings sollte kein größeres Problem darstellen, außer etwas Fleißarbeit.
Wir haben zwei Server, also eine zweistufige PKI mit Server 2012 R2.
Der Root CA Server ist also normalerweise ausgeschaltet.
Müssen wir irgendwas besonderes beachten? Muss auf dem Root CA auch etwas gemacht werden? Muss der evtl dann den Aussteller-Server neu zertifizieren mit einem SHA256 Cert? Bin mit dem Umgang bei der ganzen PKI Geschichte nicht ganz so vertraut und habe Angst mit evtl Halbwissen irgendwas gegen die Wand zu fahren… DIe Anleitung ist ansonsten nämlich verdächtig einfach :D
Hallo,
die Root-CA muss nur zur Erneuerung der Root-Sperrliste, und zur Erneuerung des Zertifizierungsstellenzertifikats der Issuing-CA (SUB-CA) eingeschaltet werden.
Ahh.. hat sich erledigt: das neue Root-CA war dem Client noch nicht bekannt, daher wurde noch das alte verwendet :-|
per GPO das neue verteilt und per gpupdate /force die Anwendung erzwungen -> schon fluppt’s
danke
Hi Stefan,
wenn die Root-CA im AD integriert ist, brauchst du keine zusätzliche GPO zum Verteilen des Zertifikats. Das neue Zertifikat wird automatisch verteilt (ADSI Edit -> Konfiguration -> Services -> Public Key Services -> Certification Authorities). Wenn es sich um eine StandAlone oder Offline Root-CA handelt musst du es entsprechend verteilen bzw im AD hinterlegen. Falls du eine zusätzliche GPO erstellt hast, kann es sein, dass du das Zertifikat doppelt im Zertifikatsspeicher des Clients hast, dies kann zu Problemen führen, wenn du das Zertifikat wieder tauschen musst.
Gruß, Frank
PS: Liebe Grüße an die Mannschaft :-)
Hi Frank,
deine Anleitung habe ich jetzt ja schon mehrfach erfolgreich verwendet – TOPP
aber dennoch: wenn ich in der CA jetzt mehrere Root-Zertifikate habe (z.B. Index 0 und 1), dann wird immer noch das alte Root-Cert (Index 0) benutzt, wenn ich ein neues Zertifikat anfordere.
Wie erzwinge ich, dass das neue Root-Cert verwendet wird?
Gruß, Stefan
Hallo,
bei meinem 2008R2 habe ich auch den 0x57, ich bekommen den Anbieter nicht gewechselt, es hakt beim Zertifikate löschen.
Hallo zusammen,
der Provider meiner RootCA ist Ultimaco Crypto Server CSP. Ich würde diesen gerne umstellen, damit SHA256 möglich ist. Gibt es hierzu etwas zu beachten?
Okay, es geht also nicht so einfach.
Bleibt mir wohl der Umzug auf ein Windows Server 2012 oder höher nicht erspart.
https://ammarhasayen.com/2015/02/04/sha-2-support-migrate-your-ca-from-csp-to-ksp/
Was muss ich den nun tun, um auf einem Windows 2008R2 Server den Kryptograpie-Anbieter von „Microsoft Strong Cryptographic Provider“ der RootCA auf „Microsoft Software Key Storage Provider“ zu ändern?
MfG Sven
kleiner Tip:
wenn man sha256 klein schreibt (certutil -setreg ca\csp\CNGHashAlgorithm sha256), dann startet die CA nicht mehr und wirft einen kryptischen Fehler. Ausnahmsweise es hier „case sensitive“. Einfach den Befehl nochmal mit groß SHA256 ausführen und dann startet sie wieder
Ja, geht auch unter WindowsServer 2008R2 – siehe http://www.it-training-grote.de/download/WindowsCA-SHA1-SHA256.pdf
Kann man diese Umstellung auch mit einer PKi auf WIndows Server 2008 R2 realisieren, oder ist hierzu ein Update auf 2012 nötig?
Cheers
Dieser nicht ganz unwichtige Punkt fehlt noch und beantwortet all Eure Fragen:
https://technet.microsoft.com/en-us/library/dn771627.aspx
Hallo
bei mir tritt der gleiche Fehler auf, ich müsste den Kryptografieanbieter ändern, damit ich SHA256 nutzen kann.
Änderung von “Microsoft Strong Cryptographic Provider” zu “Microsoft Software Cryptographic Provider”. Hat jemand eine Idee bzw. Lösung?
Gruß
Tobi
Hallo
Für SHA256 muss ich den Kryptografieanbieter zu ändern, gibt es hierfür auch etwas zu beachten?
Aktuell benutze ich „Microsoft Strong Cryptographic Provider“ geändert werden müsste es zu „Microsoft Software Cryptographic Provider“
Nach
certutil -setreg ca\csp\cnghashalgorithm 0x0000800c
bekomme ich eine Erfolgsmeldung, aber ein Starten der CA schlägt fehl.
Fehlermeldung: „0x57 Falscher Parameter“
(Zugriff auf CN=Public Key Services, CN=Services, CN=Configuration, DC=domainname,DC=com ist möglich)
Ein zurücksetzen mit
certutil -setreg ca\csp\cnghashalgorithm 0x0000800a
lässt die CA wieder starten.
Gruß
Markus
Office SP 2 hat geholfen.
Hi,
ich habe vor längerm auch nach deiner Anleitung auf SHA256 gewechselt.
Jetzt musste ich feststellen das Office 2010 keine SHA256 Zertifikate für die Signierung von Macros auflistet sondern nur SHA1.
Es gibt wohl einen Hotfix https://support.microsoft.com/en-us/kb/2598139 aber der sagt das keines der installierten Produkte auf dem System betroffen wäre.
Kann ich denn bei der Zertifikatserstellung troztdem noch manuell SHA1 erzwingen?
Gruß Marco
Danke für die ausführliche Anleitung.
Hat super funktioniert!
Hi,
Certsvc meldet Erfolg, jedoch kann das Zertikfat mit dem selben Schlüssel nicht erneuert werden. Fehler:
Die Anforderung enthält keine Zertifikatvorlageninformationen.
Muss jetzt das Zertifikat ersetzt werden?
Falls ja, welche Schritte sind dann erforderlich?
Hallo,
mich würde interessieren wie man mit erneuerten Zertifikaten richtig umgeht, also z.B. mit dem erneuerten Zertifizierungsstellenzertifikat „Zertifikat Nr. 1“. Dieses wird ja entweder über GPO oder über das AD verteilt.
Was passiert mit dem „Zertifikat Nr. 0“?
MUSS der Client das auch behalten wenn nichts mehr dieses Zertifikat nutzt, also muss eine „Versionskette“ beibehalten bleiben oder kann ich es problemlos löschen, wenn ich wollte dass im Zertifikatsspeicher derselbe Zertifikatsname nicht 2~3mal vorhanden ist?
Wie funktioniert das mit abgelösten Vorlagen? Wann benutze ich sie und was ist der Unterschied zwischen Ihnen und dem Ändern der bereits genutzten Vorlage? Wenn ich die Vorlage ändere ändert sich auch deren Versionsnummer; hat das irgendwelche Auswirkungen auf die Clients/Benutzer, welche Zertifikate auf Basis der älteren Vorlage ausgestellt bekommen haben?
Grüße
AStraube
Was ist mit dem Fingerabdruck Algorithmus sha1???
Ist dieser auch betroffen?
Vielen Dank
Gruss
Alitai
Hi,
der ist nicht betroffen.
Gruß, Frank
Das Problem ist der Kryptografie Anbieter: „Microsoft Strong Cryptographic Provider“
Es muss erst durch den „Microsoft Software Key Storage Provider“ ersetzt werden.
Hi,
leider hat es nicht geklappt nach dieser Anleitung. Der Wert wurde zwar gesetzt und ist auch mit -getreg wieder auslesbar. Dienst gestartet, Server gestartet, ohne Erfolg. In den Eigenschaften der Zertifizierungstelle steht immer noch SAH-1 bei Zertifikat 0 (abgelaufen) und Zertifikat 1. Was kann man noch prüfen, tun?
Alter Wert:
CNGHashAlgorithm REG_SZ = SHA256
Neuer Wert:
CNGHashAlgorithm REG_SZ = SHA256
CertUtil: -setreg-Befehl wurde erfolgreich ausgeführt.
CNGHashAlgorithm REG_SZ = SHA256
CertUtil: -getreg-Befehl wurde erfolgreich ausgeführt.
Hallo Heinz,
wie im Artikel beschrieben, muss du das Zertifikat der CA erneuern, damit SHA256 genutzt wird.
Gruß, Frank