с помощью следующего кода я создал новый самоподписанный сертификат подписи кода для сценариев Powershell в моем CA (не Enterprise PKI!) И развернул его через объект групповой политики (в рамках PS Skript и сертификата подписи кода Root):
# Create a certificate to use for signing powershell scripts
$selfsigncert = New-SelfSignedCertificate `
-Subject "CN=PowerShell Code Signing" `
-KeyAlgorithm RSA `
-KeyLength 2048 `
-Type CodeSigningCert `
-CertStoreLocation Cert:\LocalMachine\My\
# Move the root cert into Trusted Root CAs
Move-Item "Cert:\LocalMachine\My\$($selfsigncert.Thumbprint)" Cert:\LocalMachine\Root
# Obtain a reference to the code signing cert in Trusted Root
$selfsignrootcert = "Cert:\LocalMachine\Root\$($selfsigncert.Thumbprint)"
Get-ChildItem cert:\LocalMachine\Root -CodeSigningCert
#Sign the PowerShell Script
Set-AuthenticodeSignature xxx.ps1 @(Get-ChildItem cert:\LocalMachine\Root -codesigning)[0] -IncludeChain "All"
# Verify if signature is valid
Get-AuthenticodeSignature .\xx.ps1 -Verbose | fl
# Edit Displayname of Certificate to uniquely identify the cert
(Get-ChildItem -Path Cert:\LocalMachine\Root\(ThumbprintNumer)).FriendlyName = "XXXX"
Теперь это работает правильно, мои сценарии PowerShell подписываются, и я могу развернуть его в своем домене с помощью GPO. Плохо только срок годности. Когда я создаю сертификат, как я объяснил здесь, он недействителен через 1 год. Возможно ли, что я могу изменить дату истечения срока действия при создании сертификата или обновить его вручную?
Надеюсь, у кого-то есть для меня ответ:)
Приветствую
Лизадатор