When signing personal scripts or when testing code signing it can be useful to create a self-signed code signing certificate.
Beginning with PowerShell 5.0 you can generate a self-signed code signing certificate by using the New-SelfSignedCertificate
-cmdlet:
New-SelfSignedCertificate -FriendlyName "StackOverflow Example Code Signing" -CertStoreLocation Cert:\CurrentUser\My -Subject "SO User" -Type CodeSigningCert
In earlier versions, you can create a self-signed certificate using the makecert.exe
tool found in the .NET Framework SDK and Windows SDK.
A self-signed ceriticate will only be trusted by computers that have installed the certificate. For scripts that will be shared, a certificate from a trusted certificate authority (internal or trusted third-party) are recommended.