Skripte Signieren¶
Gute Anleitung mit aktuellen Werkzeugen der PowerShell 5
bei „Weltner , PowerShell 5“ (S. 210 ff.)
oder Schwichtenberg PowerShell 5 (S . 110 ff.)
Modifiziertes, aktualisiertes Basis-Cmdlet:
(voller Funktionsumfang ab Windows 10 bzw. Windows Server 2016; die Versionen unter Windows 8 und Windows Server 2012 R2 sehr eingeschränkt nutzbar)
New-SelfSignedCertificate # Erstellen Selbstsignierter Zertifikate ab Win 10 bzw. 2016!
Alternativ gab/gibt es natürlich das Kommandozeilentool makecert.exe (aber: als deprecated bezeichnet).
Man kann auch die Funktion New-SelfSignedCertificateEx aus dem Microsoft Skript Center bereitstellen:
Exemplarische Vorgehensweise(n): (getestet unter Windows 10 Pro)
Ausführlich: Weltner, PowerShell 5, Kapitel 5: Skripte einsetzen; Skripte digital signieren S. 210 ff.
In Kürze: Schwichtenberg S. 110 ff.
New-SelfSignedCertificate -CertStoreLocation "CERT:\Currentuser\MY" -Subject "CN=IhrNameCodeSigning" -TextExtension “2.5.29.37={text}1.3.6.1.5.5.7.3.3”
dir cert:/currentuser/my # Anzeigen lassen
$cert = @(dir “cert:/currentuser/my/”)[0] # Zertifikat auswählen
Set-AuthenticodeSignature Softwareinventar3.ps1 $cert # signieren
Zu beachten: die Zertifikate im CERT:CurrentUserMy gehören nicht zu den vertrauenswürdigen Zertifikaten. So erklären sich auch Fehlermeldungen, die man einfach per Kopieren der selbst ausgestellten Zertifikate „beheben“ kann. Im Firmenumfeld benötigt man hier natürlich andere Zertifkate und Vorgehensweisen.
PFX-Werkzeuge für Zertifikate: (siehe Signatur-Dateien im PFX-Format)
PS E:\_temp> Get-Command *pfxcert*
CommandType Name Version Source
----------- ---- ------- ------
Cmdlet Export-PfxCertificate 1.0.0.0 PKI
Cmdlet Get-PfxCertificate 3.0.0.0 Microsoft.PowerShell.Security
Cmdlet Import-PfxCertificate 1.0.0.0 PKI
PS E:\_temp> Get-Command *codesignature*
CommandType Name Version Source
----------- ---- ------- ------
Cmdlet Get-AuthenticodeSignature 3.0.0.0 Microsoft.PowerShell.Security
Cmdlet Set-AuthenticodeSignature 3.0.0.0 Microsoft.PowerShell.Security
Nochmals: leider unterscheiden sich die Werkzeuge und Ihre Fähigkeiten auf unterschiedlichen OS-Plattformen!