Weisheiten - der Netz-Weise Blog

Hier finden Sie Tipps und Tricks für vor, während und nach der Schulung.

Zertifikate mit Powershell inklusive des privaten Schlüssels als pfx-Datei exportieren

Im letzten Tipp habe ich gezeigt, wie man Zertifikate mit Powershell Base64-kodiert aus dem Zertifikatsspeicher exportieren kann. Wenn man versucht, mit dem Cmdlet Export-Certificate eine pfx-Datei zu erstellen, - die pfx-Datei ist ein Container, der neben dem Zertifikat auch den privaten Schlüssel enthält und tatsächlich eigentlich das PKCS #12-Formate enthält - stellt man allerdings fest, dass das Cmdlet dazu nicht in der Lage ist. Tatsächlich ist es aber kein Problem - man muß nur das richtige Cmdlet verwenden. Denn zum Export als .pfx-Datei verwendet man Export-PFXCertificate. Die Datei muß allerdings mit einem Kennwort gesichert werden, um den privaten Schlüssel zu  sichern:

$pwd = ConvertTo-SecureString -String "geheim" -AsPlainText -Force

Get-ChildItem -Path Cert:\CurrentUser\My\ | Where-Object { $_.subject -eq "cn=NWCertRoot" } |

    Export-PfxCertificate -FilePath $home\NwcertRoot.pfx -Password $pwd 

 

Markiert in:
Weiterlesen
4948 Aufrufe

Zertifikate mit Powershell Base64-kodiert aus dem Zertifikatsspeicher exportieren

Mit Powershell auf den Zertifikatsspeicher zurückzugreifen, ist sehr simpel, denn Powershell stellt für den Zugriff auf Zertifikate einen Powershell-Provider bereit. Durch den Provider ist es möglich, Zertifikate wie Dateien zu behandeln. Der Provider legt hierfür ein "Laufwerk" mit Namen Cert: an. Möchten Sie z.B. die Zertifikate des aktuellen Benutzers sehen, geben Sie ein:

PS C:\Users\Holger> Get-ChildItem -Path Cert:\CurrentUser\My\

PSParentPath: Microsoft.PowerShell.Security\Certificate::CurrentUser\My

Thumbprint                               Subject
----------                               -------
A83FA591D2D909D7465768ED4F7DE4019026F74D CN=Holger
7154EBF108BEB11587B1136B06EC5C24E3E6CAEA CN=NWCertRoot
6C0CEA5EC15CA5E6350CB9E7D02D90C9AA1DEBE3 CN=NwClientCert

Zurückgeliefert wird der eindeutige Thumbprint des Zertifikats, sowie dessen Name. Um ein Zertifikat ins Dateisystem zu exportieren, verwenden Sie das Cmdlet Export-Certificate:

Weiterlesen
4476 Aufrufe

Root-Zertifikat aus dem Zertifikats-Store entfernen

Haben Sie schon einmal versucht, ein per Gruppenrichtlinien verteiltes Root-Zertifikat wieder zu entfernen? Wie sich herausstellt, ist das über das Zertifikats-Plug-In in der Management-Konsole gar nicht so einfach. Hilfe verschafft hier das Kommandozeilentools Certutil in Verbindung mit Powershell.

Certutil besitzt einen Parameter -delstore, mit dem man Zertifikate aus dem Store entfernen kann. Ruft man Certutil -delstore -? auf, so bekommtn man folgende Optionen angezeigt:

Optionen:

-enterprise -- Verwendet den Unternehmensregistrierungs-Zertifikatspeicher auf dem lokalen Computer
-user -- Verwendet HKEY_CURRENT_USER oder Zertifikatspeicher.
-GroupPolicy -- Gruppenrichtlinien-Zertifikatspeicher verwenden

Verwenden Sie die Option -GroupPolicy für Zertifikate, die per Gruppenrichtlinie verteilt wurden. Der richtige Speicher ist wichtig, da Certutil Ihnen sonst zwar Vollzug vermeldet, aber die Zertifikate nicht löscht. Weiterhin benötigen Sie den Thumbprint (Daumenabdruck oder Checksumme) des zu entfernenden Zertifikats. Den erhalten Sie über Powershell:

Weiterlesen
8432 Aufrufe
Nach oben