Powershell Skript digital signieren

Einfaches signieren einer Datei

Dieses Anleitung bezieht sich auf den Umgang in einer Domäne mit einer internen CA.

Um eine Skriptdatei digital zu signieren, dafür muss nicht viel getan werden. Über die interne CA bestellen wir uns ein Zertifikat zur Codesignierung. Dazu öffnen wir die MMC > Zertifikate – Aktueller Benutzer.

Nachdem wir das Zertifikat ausgestellt bekommen haben, importieren wir es in den Benutzer Speicher, exportieren es und importieren es wieder in „Vertrauenswürdige Stammzertifikatsstellen”.

Optional:

Ergänzend zur Anleitung hier noch zwei weitere Befehle zum Signieren einer Datei.

Das Zertifikat wird per Thumbprint eingesetzt:

$Cert = Get-ChildItem -Path Cert:CurrentUser\MY\c1774ccb3c4b46d9c0bc92ab09d3f26b76199c70
Set-AuthenticodeSignature -FilePath “C:\Temp\DelRootCert.ps1” -Certificate $cert

Sollte zwei Zertifikate zum Signieren im lokalen Speicher vorhanden sein, dann kann das Zertifikat entsprechend ausgewählt werden.

Das Zertifikat wird abhängig der Reihenfolge im Speicher bestimmt:

Set-AuthenticodeSignature -FilePath “C:\Temp\DelRootCert.ps1” -Certificate (Get-ChildItem -Path Cert:\CurrentUser\My)[0]

Set-AuthenticodeSignature -FilePath “C:\Temp\DelRootCert.ps1” -Certificate (Get-ChildItem -Path Cert:\CurrentUser\My)[1]

Und so geht’s weiter…

Powershell Skript digital signieren