Este tutorial le mostrará cómo firmar archivos desde la línea de comandos de Windows con un certificado de firma de código y una clave privada almacenada en Azure Key Vault. Para seguir estas instrucciones necesitará:
- An Cuenta de Azure
- A Bóveda de llaves
- A certificado de firma de código instalado en su Key Vault. Tu también puedes:
- Herramienta Azure Sign instalado en la computadora que usará para firmar
¿Qué es Azure Sign Tool?
Herramienta Azure Sign es una utilidad de código abierto que ofrece SignTool funcionalidad para certificados y claves almacenados en Azure Key Vault. Puede instalar Azure Sign Tool con el siguiente comando en Windows PowerShell (requiere SDK de .NET):
dotnet tool install --global AzureSignTool
Paso 1: registrar una nueva aplicación de Azure
Primero, deberá registrar una nueva aplicación de Azure para que pueda conectarse a su Key Vault para firmar.
- Iniciar sesión en el Portal Azure.
- Navegue hasta Directorio activo de Azure. (Hacer clic Más servicios si el icono de Azure Active Directory no está visible).
- Presione Registros de aplicaciones, en la columna de la izquierda.
- Presione Nuevo registro.
- Dale a tu solicitud un Nombre Y haga clic en el Regístrese botón. Deje las demás configuraciones en sus valores predeterminados.
- Se ha registrado su nueva aplicación. Copie y guarde el valor mostrado para ID de aplicación (cliente), porque lo necesitarás más tarde.
- Presione Autenticación.
- Bajo Configuración avanzadaestablecer Permitir flujos de clientes públicos a
Yes
. - Presione a Salvar.
Paso 2: crear un secreto de cliente
A continuación, genere un secreto de cliente, que servirá como credencial al firmar.
- Presione Certificados y secretos en el menú de la izquierda.
- Presione Nuevo secreto de cliente.
- Dale a tu cliente un secreto Descripción, establezca la caducidad como desee y haga clic en el Añada del botón.
- Copia el Valor de su nuevo secreto de cliente inmediatamente y guárdelo en un lugar seguro. La próxima vez que se actualice la página, este valor estará enmascarado y será irrecuperable.
Paso 3: Habilite el acceso en Key Vault
Ahora, deberá habilitar el acceso para su aplicación en Azure Key Vault.
- Navegue hasta Key Vault que contiene el certificado que desea usar para firmar y haga clic en el Políticas de acceso del enlace.
- Presione Agregar política de acceso.
- Bajo Permisos clave, habilitar
Sign
. - Bajo Permisos de certificado, habilitar
Get
. - Haga clic en el Ninguna seleccionada enlace, debajo Seleccionar principal, luego use el campo de búsqueda para ubicar y seleccionar la aplicación que creó en la sección anterior.
- Haga clic en el Seleccione del botón.
- Haga clic en el Añada del botón.
- Presione a Salvar.
- Su política de acceso está configurada y está listo para comenzar a firmar archivos.
Paso 4: firmar un archivo
¡Ahora finalmente estás listo para firmar un código!
- Necesitará la siguiente información disponible:
- A continuación, se muestra un comando de ejemplo en PowerShell para firmar y marcar un archivo con la herramienta de firma de Azure. Reemplace los valores en TODAS LAS MAYÚSCULAS con su información real:
azuresigntool sign -kvu KEY-VAULT-URI -kvc CERTIFICATE-NAME -kvi APPLICATION-CLIENT-ID -kvs CLIENT-SECRET -tr http://ts.ssl.com/ -td sha256 PATH-TO-EJECUTABLE
Nota: De forma predeterminada, SSL.com admite marcas de tiempo de claves ECDSA.
Si encuentra este error:The timestamp certificate does not meet a minimum public key length requirement
, debe comunicarse con su proveedor de software para permitir las marcas de tiempo de las claves ECDSA.
Si no hay forma de que su proveedor de software permita el uso del punto final normal, puede usar este punto final heredadohttp://ts.ssl.com/legacy
para obtener una marca de tiempo de una unidad de sellado de tiempo RSA. - Si la firma es exitosa, debería ver un resultado como el siguiente (la firma fallida no producirá ningún resultado):
info: AzureSignTool.Program [0] => Archivo: test.exe Archivo de firma test.exe info: AzureSignTool.Program [0] => Archivo: test.exe La firma se completó correctamente para el archivo test.exe. información PS C: \ Users \ Aaron Russell \ Desktop>
- Los detalles sobre la nueva firma digital estarán disponibles en las propiedades del archivo: