Aktivieren Sie die Registrierungsrichtlinie für Zertifikate und fordern Sie mit PowerShell ein Zertifikat an

8

Im Moment mache ich Folgendes, um ein Zertifikat von einem CEP-Server anzufordern:

  • Öffnen Sie gpedit.msc
  • Doppelklicken Sie unter Computerkonfiguration> Windows-Einstellungen> Sicherheitseinstellungen> Richtlinien für öffentliche Schlüssel auf "Certificate Services Client - Zertifikatregistrierungsrichtlinie".
  • Aktivieren
  • Geben Sie den CEP-URI ein
  • Wechseln Sie zur Authentifizierung mit Benutzername / Passwort
  • Validieren (Creds bereitstellen)
  • Öffnen Sie MMC und importieren Sie Zertifikate
  • Gehen Sie zu Zertifikate> Persönlich
  • Klicken Sie mit der rechten Maustaste> Neues Zertifikat anfordern
  • Geben Sie "weitere Informationen" ein (CN, DNS-Name usw.)
  • Geben Sie Creds an

Danach habe ich ein Zertifikat von der CEP; Dies ist jedoch ein schmerzhafter Vorgang, der manuell durchgeführt werden muss. Gibt es eine Möglichkeit, dies in Server 2008 (und 2012) zu automatisieren? Alle Informationen, die ich dazu finden kann, zeigen, wie die CEP-Dienste installiert werden, um einen Server zu einem Registrierungsrichtlinienserver zu machen (nichts über das tatsächliche Anfordern eines neuen Zertifikats oder das Aktivieren auf der Clientseite). Ist es möglich, dies zu automatisieren?

Es sieht so aus, als würde dieser Prozess unter HKEY_LOCAL_MACHINE \ SOFTWARE \ Policies \ Microsoft \ Cryptography viele Daten hinzufügen. Kann ich dies manuell hinzufügen (und eine GUID / ServiceID fälschen)?

EGr
quelle
1
Um Ihre Begeisterung nicht zu entmutigen, da ich auch gerne ALLE DINGE POWERSHELL !!!!!! Aber die Gruppenrichtlinien-Cmdlets sind immer noch absolut schrecklich, und die PKI-Cmdlets sind in Version 4 gegenüber Version 3 erheblich verbessert, daher ... :( Ich finde dieses PKI-Modul eines Drittanbieters für das PowerShell-Modul jedoch nützlich, und es kann einige davon benötigen manuelle Schmerzen heraus, was Sie versuchen zu tun.
HopelessN00b

Antworten:

3

Ich gehe davon aus, dass Ihre Zertifikatanforderungen mithilfe einer Vorlage gestellt werden. Wenn dies der Fall ist, verwenden Sie das Public Key Policies/Certificate Services Client - Auto-Enrollment SettingsGruppenrichtlinienobjekt, um die automatische Registrierung zu erzwingen. Sie möchten auch sicherstellen, dass die Vorlagen-ACL entweder für Domänencomputer oder Domänenbenutzer ( Enrollund AutoEnrollfür jedes ACL-Objekt, abhängig von der beabsichtigten Zielgruppe) vorhanden und markiert ist. Je nachdem, ob es sich um einen Computer handelt oder nicht, können Sie eine Benutzerkonfiguration und eine Computerkonfigurationsrichtlinie verwenden cert oder user cert, das Sie pushen möchten. Die Registrierung beginnt, sobald die Richtlinie verschoben wird (normalerweise ca. 15 Minuten), nachdem das Gruppenrichtlinienobjekt verknüpft und durchgesetzt wurde.

Colyn1337
quelle
2
Nun, duh. Ich war so begeistert vom PowerShell-Teil, dass ich völlig verblüfft war, dass ich viele, viele Gruppenrichtlinienobjekte eingerichtet habe, um die Registrierung von Zertifikaten über viele Jahre hinweg zu automatisieren. D'oh! Guter Fang.
HopelessN00b
Dies ist definitiv eine Option (wahrscheinlich die beste Option), aber ich würde es vorziehen, eine lokale Gruppenrichtlinieneinstellung festzulegen. Ist dies möglich?
EGr
2
@EGr warum in aller Welt möchtest du das tun?
MDMoore313
@ HopelessN00b Ich habe das Gleiche getan, aber es wäre cool, zumindest eine Powershell-Methode zur Fehlerbehebung zu haben, also ist es immer noch eine ziemlich gute Frage.
MDMoore313
0

Ich habe keine vollständige Lösung, kann jedoch Startpunkte empfehlen. Mein PowerShell-PKI-Modul kann den Endpunkt des Registrierungsdienstes ab Windows 7 / Windows Server 2008 R2 registrieren (beachten Sie, dass Windows Server 2008 keine Registrierungsdienste unterstützt). Hier ist ein Beispiel für die Registrierung einer Richtlinie: http://en-us.sysadmins.lv/Lists/Posts/Post.aspx?ID=101

bezüglich der Einschreibung. Diese Blogpost-Reihe gibt Ihnen möglicherweise einen Einblick in die Verwendung von CertEnroll COM-Schnittstellen zur Durchführung der Zertifikatsregistrierung in PowerShell. Es gibt (leider) nichts über Registrierungs-Webdienste, aber die Techniken sind die gleichen. Sie müssen mit dieser Schnittstelle beginnen: IX509CertificateRequestPkcs10V2

HTH

Crypt32
quelle