La signature d'un fichier de script PowerShell (PS1) améliore la confiance et la sécurité en validant l'identité de l'éditeur et en garantissant que le script n'a pas été falsifié. Voici comment signer un script PowerShell :
Prérequis :
- Vous devez disposer d'un certificat de signature de code. Si vous n'en avez pas, vous pouvez obtenir un certificat auto-signé ou en acheter un auprès d'une autorité de certification (CA) de confiance.
- Assurez-vous que le script PowerShell est syntaxiquement correct et sans erreur.
Étapes pour signer un script PowerShell :
1. Générer un certificat :
- Ouvrez Windows PowerShell ISE (Integrated Scripting Environment) ou une console PowerShell classique.
- Tapez la commande suivante pour générer un certificat de signature de code auto-signé :
```powershell
New-SelfSignedCertificate -DnsName [VotreDomaine] -CertStoreLocation Cert:\CurrentUser\My
```
Remplacez [VotreDomain] par votre nom de domaine.
2. Exporter le certificat :
- Tapez la commande suivante pour exporter le certificat auto-signé nouvellement créé sous forme de fichier .pfx :
```powershell
Export-PfxCertificate -Cert [ThumbprintOfTheCertificate] -FilePath [OutputFilePath].pfx -Password [Mot de passe]
```
Remplacez [ThumbprintOfTheCertificate] par l'empreinte numérique de votre certificat nouvellement créé.
Remplacez [OutputFilePath] par l'emplacement souhaité pour le fichier .pfx exporté.
Remplacez [Mot de passe] par un mot de passe fort pour le fichier .pfx.
3. Signez le script :
- Tapez la commande suivante pour signer votre script. Remplacez [ScriptPath] par le chemin complet de votre fichier de script PowerShell (.ps1) :
```powershell
Set-AuthenticodeSignature -FilePath [ScriptPath] -Certificate ([Get-ChildItem -Path Cert:\CurrentUser\My | Where { $_.Subject -match 'CN=[YourDomain]' }) | Sélectionnez -Index 0) -Mot de passe [Mot de passe]
```
Remplacez [ScriptPath] par le chemin complet de votre fichier de script PowerShell (.ps1).
Remplacez [Mot de passe] par le mot de passe que vous avez utilisé lors de l'exportation du fichier .pfx.
4. Valider la signature :
- Tapez la commande suivante pour vérifier la signature du script :
```powershell
Get-AuthenticodeSignature -FilePath [ScriptPath]
```
Cela confirme que le script est signé et validé.
Remarques supplémentaires :
- Lors de l'exécution du script signé, l'utilisateur recevra une invite lui demandant de faire confiance à l'éditeur. En installant le certificat de signature de code dans leur magasin racine de confiance ou en l'autorisant comme exception, les utilisateurs peuvent accepter le script comme étant digne de confiance.
- L'utilisation d'un certificat auto-signé affichera un avertissement de sécurité. Pour accroître la confiance, vous pouvez faire signer votre certificat par une autorité de certification de confiance comme VeriSign ou DigiCert.
- Le script signé peut être partagé et utilisé en toute sécurité par d'autres. Lorsqu'un script signé est exécuté, il affichera les informations de l'éditeur, garantissant qu'il n'a pas été modifié ou compromis.
|