none
Microsoft PKI und digitales Zertifikat mit SHA-256 RRS feed

  • Frage

  • Guten Tag zusammen,

    hat es jemand schon mal geschafft ein digitales Zertifikat mit SHA-256-Hash mit einer Microsoft PKI zu erstellen?

    Gegeben ist ein Windows 2008 R2 Enterprise Server mit einer PKI-Rolle. Ich habe eine entsprechende Vorlage für Zertifikate mit SHA-256 erstellt und veröffentlicht. Es ist möglich auf der Grundlage dieser Vorlage ein Zertifikat zu erstellen. Das so erstellte Zertifikat zeigt auch an, dass es mit der richtigen Vorlage erstellt wurde aber beim Hash-Algorithmus wird trotzdem SHA1 angezeigt und die Laufzeit des Zertifikats stimmt auch nicht mit der aus der Vorlage überein.

    Für Tipps zu Lösung wäre ich sehr dankbar!

    Schöne Grüße

    Sperare

    Mittwoch, 16. Oktober 2013 08:59

Antworten

  • Hi,

    wegen SHA-256:
    http://technet.microsoft.com/de-de/library/ff829847(v=ws.10).aspxDeine CA wird jetzt nicht Suite-B Compliant sein (schau Dir das Root CA Cert an, da sollte SHA1 stehen)
    Wegen der Laufzeit:
    A) Die Lebensdauer des Zertifikats / Einstellung der Zertifikatvorlage kann nicht laenger sein als die Lebensdauer des Zertifikats der RootCA
    B) Die Default Lebensdauer von Zertifikaten ist bei Default 2 Jahre, auch wenn Du das in den Templates modifizierst. Du musst das anpassen: setreg ca\ValidityPeriod. Danach die CA Dienste durchstarten und Zertifikate basierend auf dem Template neu anfordern


    regards Marc Grote aka Jens Baier - www.it-training-grote.de - www.forefront-tmg.de - www.galileocomputing.de/3276?GPP=MarcGrote




    Mittwoch, 16. Oktober 2013 10:28
    Moderator
  • Hi,

    habe das mal dokumentiert:
    http://www.it-training-grote.de/blog/?p=6215


    regards Marc Grote aka Jens Baier - www.it-training-grote.de - www.forefront-tmg.de - www.galileocomputing.de/3276?GPP=MarcGrote

    • Als Antwort markiert sperare Donnerstag, 24. Oktober 2013 11:34
    Donnerstag, 17. Oktober 2013 13:25
    Moderator
  • Hi,

    wie im Artikel beschrieben, brauchst Du das RootCA Zertifikat nicht neu ausstellen und ja, die CA kann weiterhin Zertifikate mit kleineren Schluesseln/Algorithmen ausstellen.

    Am besten testet Du das mal in einem Testlab mit einer Kopie Eurer CA Infrastruktur


    regards Marc Grote aka Jens Baier - www.it-training-grote.de - www.forefront-tmg.de - www.galileocomputing.de/3276?GPP=MarcGrote

    Donnerstag, 17. Oktober 2013 15:24
    Moderator
  • Hi,

    Wenn als CSP Microsoft Strong Cryptographic Provider ist, kann SHA256 NICHT verwendet werden:
    http://msdn.microsoft.com/en-us/library/bb931357(VS.85).aspx


    regards Marc Grote aka Jens Baier - www.it-training-grote.de - www.forefront-tmg.de - www.galileocomputing.de/3276?GPP=MarcGrote

    • Als Antwort markiert sperare Donnerstag, 24. Oktober 2013 11:33
    Donnerstag, 24. Oktober 2013 08:00
    Moderator

Alle Antworten

  • Hi,

    wegen SHA-256:
    http://technet.microsoft.com/de-de/library/ff829847(v=ws.10).aspxDeine CA wird jetzt nicht Suite-B Compliant sein (schau Dir das Root CA Cert an, da sollte SHA1 stehen)
    Wegen der Laufzeit:
    A) Die Lebensdauer des Zertifikats / Einstellung der Zertifikatvorlage kann nicht laenger sein als die Lebensdauer des Zertifikats der RootCA
    B) Die Default Lebensdauer von Zertifikaten ist bei Default 2 Jahre, auch wenn Du das in den Templates modifizierst. Du musst das anpassen: setreg ca\ValidityPeriod. Danach die CA Dienste durchstarten und Zertifikate basierend auf dem Template neu anfordern


    regards Marc Grote aka Jens Baier - www.it-training-grote.de - www.forefront-tmg.de - www.galileocomputing.de/3276?GPP=MarcGrote




    Mittwoch, 16. Oktober 2013 10:28
    Moderator
  • Hallo Marc,

    vielen Dank für die Hinweise!

    Im Root CA Cert steht SHA1 drin. Gibt es eine Möglichkeit unsere CA Suite-B Compliant zu machen ohne sie neu zu installieren? Muss das Root CA Cert zwangsweise mit SHA-256 erstellt worden sein, damit die neuen Zertifikate mit SHA-256 erstellt werden können?

    Schöne Grüße

    Sperare

    Donnerstag, 17. Oktober 2013 11:36
  • Hi,

    habe das mal dokumentiert:
    http://www.it-training-grote.de/blog/?p=6215


    regards Marc Grote aka Jens Baier - www.it-training-grote.de - www.forefront-tmg.de - www.galileocomputing.de/3276?GPP=MarcGrote

    • Als Antwort markiert sperare Donnerstag, 24. Oktober 2013 11:34
    Donnerstag, 17. Oktober 2013 13:25
    Moderator
  • Hallo Marc,

    danke schön für die Anleitung! Bevor ich sie ausprobieren kann, muss ich zu Sicherheit in unserem speziellen Fall wissen, ob das Root CA Zertifikat mit SHA-256 zwangsweise neu erstellt werden muss oder ob wir unser jetziges (mit SHA1) behalten können und trotzdem SHA-256-Zertifikate nach der Umstellung der CA erstellen können? Das hängt doch nicht zusammen, oder?

    Dann möchte ich noch fragen, ob nach der Umstellung der CA, es weiterhin möglich sein wird SHA1-Zertifikate zu generieren? Meines Wissens nach, können noch nicht alle Programme und Anwendungen SHA-256.

    Schöne Grüße

    Sperare

    Donnerstag, 17. Oktober 2013 13:52
  • Hi,

    wie im Artikel beschrieben, brauchst Du das RootCA Zertifikat nicht neu ausstellen und ja, die CA kann weiterhin Zertifikate mit kleineren Schluesseln/Algorithmen ausstellen.

    Am besten testet Du das mal in einem Testlab mit einer Kopie Eurer CA Infrastruktur


    regards Marc Grote aka Jens Baier - www.it-training-grote.de - www.forefront-tmg.de - www.galileocomputing.de/3276?GPP=MarcGrote

    Donnerstag, 17. Oktober 2013 15:24
    Moderator
  • Hallo Marc,

    leider klappt es noch nicht.

    Als ich zuerst den Befehl "certutil -getreg ca\csp\cnghashalgorithm" abgesetzt hatte, kam die Fehlermeldung 0x80070002 zurück, dass "die Datei nicht gefunden wurde". Danach habe ich den certutil-Befehl mit dem Parameter "-setreg" und sha256 eingegeben und den Dienst neu gestartet. Wenn ich jetzt mit "-getreg" nachfrage, dann kommt die Meldung "cnghashalgorithm REG_SZ = sha256".

    Wenn ich nun ein neues Zertifikat erstelle, steht dort leider immer noch sha1.

    In den Eigenschaften der Zertifikatsvorlage steht (habe ich noch mal geprüft) in dem Register "Kryptografie" unter "Name des Algorithmus" - RSA; "Minimale Schlüsselgröße" - 2048; "Anforderungshash" - SHA256. Das neu erstellte Zertifikat zeigt an, dass es auf der Grundlage dieser Vorlage erstellt wurde aber trotzdem mit sha1. Etwas fehlt noch. Hast du vielleicht eine Idee, was?

    Gruß

    Sperare

    Dienstag, 22. Oktober 2013 09:50
  • Hi,

    auch wenn Certutil den richtigen CNG Algorithmus anzeigt, solltest Du mal pruefen ob in der CA MMC in den CA Eigenschaften SHA256 steht


    regards Marc Grote aka Jens Baier - www.it-training-grote.de - www.forefront-tmg.de - www.galileocomputing.de/3276?GPP=MarcGrote

    Mittwoch, 23. Oktober 2013 07:01
    Moderator
  • Hi,

    welchen Krypto Anbieter verwendet Eure CA?:
    CA MMC - CA Eigenschaften - Allgemein - Kryprografieeinstellungen - Anbieter.


    regards Marc Grote aka Jens Baier - www.it-training-grote.de - www.forefront-tmg.de - www.galileocomputing.de/3276?GPP=MarcGrote

    Mittwoch, 23. Oktober 2013 09:21
    Moderator
  • Guten Morgen Marc,

    dort steht, dass der Krypto-Anbiter "Microsoft Strong Cryptographic Provider" heißt und der Hashalgorithmus ist SHA-1.

    Ich finde es irgendwie schade, dass Certutil etwas anderes sagt, wie die Eigenschaften der CA. Wie überrede ich den Server doch auf SHA256 zu wechseln?

    Schöne Grüße

    Sperare

    Donnerstag, 24. Oktober 2013 07:09
  • Hi,

    Wenn als CSP Microsoft Strong Cryptographic Provider ist, kann SHA256 NICHT verwendet werden:
    http://msdn.microsoft.com/en-us/library/bb931357(VS.85).aspx


    regards Marc Grote aka Jens Baier - www.it-training-grote.de - www.forefront-tmg.de - www.galileocomputing.de/3276?GPP=MarcGrote

    • Als Antwort markiert sperare Donnerstag, 24. Oktober 2013 11:33
    Donnerstag, 24. Oktober 2013 08:00
    Moderator
  • Aha! Demnach wird der "Microsoft Enhanced RSA and AES Cryptographic Provider" benötigt.

    Gbit es eine Möglichkeit, den CSP umzustellen? Bis jetzt finde ich nur Anleitungen dazu, wie man den CSP während der Installation der CA auswählt.

    Wenn ich den CSP umstellen kann, kann die CA mit unserem jetzigen (alten) Root-Zertifikat weiterhin arbeiten?

    Donnerstag, 24. Oktober 2013 09:57
  • Hi,

    meines Wissen kann man den CSP einer existierenden CA nicht aendern. Je nach Umfang der bisher ausgestellten Zertifikate koennte man sich fuer die Deinstallation und Neuinstallation der CA entscheiden und beim Setup einen zukunftsicheren CSP auswaehlen.
    Dabei sind dann einige Schritte bei der Dekommissionierung zu beachten (CDP Publishing etc.).
    Sollte der Aufwand zu hoch sein bleibt noch die Implementierung einer SubCA unterhalb der RootCA. Der kannst Du dann bei der Installation einen entsprechenden CSP mitgeben. Dann hast Du zwar keine Offline Root CA (da vermutlich Unternehmens-PKI), kannst aber side by side neue CNG basierte Zertifikate ausstellen lassen


    regards Marc Grote aka Jens Baier - www.it-training-grote.de - www.forefront-tmg.de - www.galileocomputing.de/3276?GPP=MarcGrote

    Donnerstag, 24. Oktober 2013 10:38
    Moderator
  • Hallo Marc,

    das hatte ich schon befürchtet.

    Eine Neuinstallation der CA ist im Moment nicht möglich, wird aber noch kommen. Der Aufwand für die Einrichtung einer SubCA ist in unserem Fall, dem erhofften Nutzen gegenüber, nicht angemessen. Ich will schauen, ob wir irgendwo ein passendes Zertifikat kaufen können.

    Vielen Dank für Deine Hilfe!

    Sperare

    Donnerstag, 24. Oktober 2013 11:32
  • Hi,

    Du brauchst also nur ein Zertifikat mit SHA256? Wofuer brauchst Du das genau? Du koenntest auch mit Makecert ein Self Signed Certificate erstellen:
    http://msdn.microsoft.com/en-us/library/bfsktky3.aspx
    Das Certificate koennte man dann per Group Policy in den Trusted Root CA Store aller Domaenenmitglieder schreiben lassen, wenn ein interner CA Trust notwendig ist


    regards Marc Grote aka Jens Baier - www.it-training-grote.de - www.forefront-tmg.de - www.galileocomputing.de/3276?GPP=MarcGrote

    Donnerstag, 24. Oktober 2013 11:47
    Moderator
  • Hallo Marc,

    im Moment benötigen wir ein solches Zertifikat, um ein Java-Applet zu signieren. Seit Kurzem kann man hierfür eine signierte Whitelist erstellen aber laut der Herstellerdoku, werden nur Zertifikate mit SHA-256 unterstützt.

    Ein selbstsigniertes Zertifikat zu benutzen wäre tatsächlich auch eine mögliche Lösung.

    Wünsche Dir ein schönes Wochenende.

    Sperare

    Freitag, 25. Oktober 2013 14:04