Requisitos previos :
- Debes tener un certificado de firma de código. Si no tiene uno, puede obtener un certificado autofirmado o comprar uno de una autoridad certificadora (CA) confiable.
- Asegúrese de que el script de PowerShell sea sintácticamente correcto y esté libre de errores.
Pasos para firmar un script de PowerShell :
1. Generar un certificado :
- Abra Windows PowerShell ISE (Entorno de secuencias de comandos integrado) o una consola PowerShell normal.
- Escriba el siguiente comando para generar un certificado de firma de código autofirmado:
```powershell
Nuevo certificado autofirmado -DnsName [Su dominio] -CertStoreLocation Certificado:\CurrentUser\My
```
Reemplace [SuDominio] con su nombre de dominio.
2. Exportar el certificado :
- Escriba el siguiente comando para exportar el certificado autofirmado recién creado como un archivo .pfx:
```powershell
Exportar-PfxCertificate -Cert [ThumbprintOfTheCertificate] -FilePath [OutputFilePath].pfx -Contraseña [Contraseña]
```
Reemplace [ThumbprintOfTheCertificate] con la huella digital de su certificado recién creado.
Reemplace [OutputFilePath] con la ubicación deseada para el archivo .pfx exportado.
Reemplace [Contraseña] con una contraseña segura para el archivo .pfx.
3. Firma el guión :
- Escriba el siguiente comando para firmar su script. Reemplace [ScriptPath] con la ruta completa a su archivo de script de PowerShell (.ps1):
```powershell
Set-AuthenticodeSignature -FilePath [ScriptPath] -Certificate ([Get-ChildItem -Path Cert:\CurrentUser\My | Donde { $_.Subject -match 'CN=[SuDominio]' }) | Seleccionar -Índice 0) -Contraseña [Contraseña]
```
Reemplace [ScriptPath] con la ruta completa a su archivo de script de PowerShell (.ps1).
Reemplace [Contraseña] con la contraseña que utilizó al exportar el archivo .pfx.
4. Validar la Firma :
- Escriba el siguiente comando para verificar la firma del script:
```powershell
Obtener-AuthenticodeSignature -FilePath [ScriptPath]
```
Esto confirma que el script está firmado y validado.
Notas adicionales :
- Al ejecutar el script firmado, el usuario recibirá un mensaje pidiéndole que confíe en el editor. Al instalar el certificado de firma de código en su almacén raíz de confianza o al permitirlo como excepción, los usuarios pueden aceptar el script como confiable.
- El uso de un certificado autofirmado mostrará una advertencia de seguridad. Para aumentar la confianza, puede hacer que su certificado sea firmado por una CA confiable como VeriSign o DigiCert.
- Otros pueden compartir y utilizar el script firmado de forma segura. Cuando se ejecuta un script firmado, mostrará la información del editor, lo que garantiza que no ha sido modificada ni comprometida.