4 Commands to maintain a local code singing cert.
7 $certName = "Local Code Sign Cert"
10 function New-CodeSignCert {
11 $cert = New-SelfSignedCertificate -CertStoreLocation Cert:\CurrentUser\My -Type CodeSigningCert -Subject $certName -KeyAlgorithm RSA -KeyLength 2048 -Provider "Microsoft Enhanced RSA and AES Cryptographic Provider" -KeyUsage "DigitalSignature"
15 function Get-CodeSignCert {
16 $certName = "Local Code Sign Cert"
17 return Get-ChildItem -Path Cert:\CurrentUser\My | Select-Object -First 1
18 # | ? Subject -EQ "CN=$certName"
21 function Install-CodeSignCert {
23 $cert = Get-CodeSignCert
24 Move-Item -Path $cert.PSPath -Destination "Cert:\CurrentUser\Root"
27 function Invoke-CodeSign {
31 $cert = Get-CodeSignCert
32 Set-AuthenticodeSignature -FilePath $Path -Certificate $cert
35 Invoke-CodeSignProfile {
36 Invoke-CodeSign -Path $profile
39 Export-ModuleMember -Function New-CodeSignCert
40 Export-ModuleMember -Function Get-CodeSignCert
41 Export-ModuleMember -Function Install-CodeSignCert
42 Export-ModuleMember -Function Invoke-CodeSign
43 Export-ModuleMember -Function Invoke-CodeSignProfile