Herramienta Firma de archivos (Signcode.exe)
Actualización: noviembre 2007
Esta herramienta firma un archivo ejecutable portable (PE), un archivo .dll o .exe, con una firma digital Authenticode. Es posible firmar un ensamblado o un archivo individual contenido en un ensamblado de varios archivos. Si va a distribuir un ensamblado, debería firmar el ensamblado en lugar de los archivos individuales. La ejecución de Signcode.exe sin especificar opciones inicia un asistente que ayuda a desarrollar el proceso de firma.
La herramienta de firma de archivos sólo se comercializa con las versiones 1.0 y 1.1 de .NET Framework SDK. En versiones posteriores, use la utilidad Herramienta Firma (SignTool.exe) en su lugar.
signcode [options] filename | assemblyname
Argumento | Descripción |
|---|---|
filename | Nombre del archivo PE (ejecutable portable) que se va a firmar. |
assemblyname | Nombre del ensamblado que se va a firmar. Este archivo debe contener un manifiesto del ensamblado. |
Opción | Descripción |
|---|---|
-$ authority | Especifica la autoridad de firma del certificado, que debe ser individual o commercial. De forma predeterminada, Signcode.exe utiliza el permiso de mayor nivel del certificado. |
-a algoritmo | Especifica el algoritmo hash para la firma, que debe ser md5 (valor predeterminado) o sha1. |
-c file | Especifica el archivo que contiene el certificado de edición de software codificado. |
-cn name | Especifica el nombre común del certificado. |
‑i info | Especifica un lugar para obtener más información sobre contenido (normalmente una dirección URL). |
-j dllName | Especifica el nombre de una DLL que devuelve una matriz de atributos autenticados para firmar archivos. Se pueden especificar varias DLL repitiendo la opción -j. |
-jp param | Especifica un parámetro que se va a pasar para la DLL precedente. Por ejemplo: -j dll1 -jp dll1Param. La herramienta sólo permite un parámetro por DLL. |
-k keyname | Especifica el nombre del contenedor de claves. |
-ky keytype | Especifica el tipo de clave, que debe ser signature, exchange o un número entero (como 4). |
-n name | Especifica un nombre de texto que representa el contenido del archivo que se firma. |
-p provider | Especifica el nombre del proveedor de servicios criptográficos del sistema. |
-r location | Especifica la ubicación del almacén de certificados en el Registro, que debe ser currentuser (valor predeterminado) o localmachine. |
-s store | Especifica el almacén de certificados que contiene el certificado de firma. El valor predeterminado es mi almacén. |
-sha1 thumbprint | Especifica el argumento thumbprint, que es el algoritmo hash sha1 del certificado de firma que se incluye en el almacén de certificados. |
-sp policy | Establece la directiva de almacén de certificados, que debe ser spcStore (valor predeterminado) o chain. Si se especifica chain, todos los certificados de la cadena de comprobación, incluidos los certificados con firma automática, se agregan a la firma. Si se especifica spcStore, los certificados de confianza con firma automática no se incluyen con los certificados de la cadena que se agregan a la firma. |
-spc file | Especifica el archivo SPC que contiene certificados de edición de software. |
-t URL | Indica que el servidor de marca de hora establecerá la marca de hora del archivo en la dirección http especificada. |
-tr number | Especifica el número máximo de evaluaciones de marca de hora hasta que el resultado sea satisfactorio; el valor predeterminado es 1. |
-tw number | Especifica el intervalo (en segundos) entre cada evaluación de marca de hora. El valor predeterminado es 0. |
-v pvkFile | Especifica el nombre del archivo de claves privadas (.pvk) que contiene la clave privada. |
-x | Establece la marca de hora del archivo pero no lo firma. |
-y type | Especifica el tipo de proveedor de servicios criptográficos que se utiliza. Un proveedor criptográfico contiene implementaciones de estándares y algoritmos criptográficos. Para obtener una lista de los tipos de proveedor predeterminados, vea "Proveedores de servicios criptográficos de Microsoft" en el SDK de la plataforma. |
-? | Muestra la sintaxis de comandos y opciones para la herramienta. |
Para firmar con un archivo SPC (certificado de compañía de software), se deben especificar las opciones -spc y -v si la clave privada está en un archivo PVK. Si la clave privada está en un contenedor de claves del Registro, se deben especificar las opciones -spc y -k. Si se desea firmar el archivo con un archivo SPC, éste debe crearse utilizando la herramienta Creación de certificados y la herramienta Prueba de certificados de compañía de software.
El comando siguiente firma el archivo XYZ.exe utilizando el certificado de compañía de software XYZ.spc y la clave privada del contenedor de claves del Registro XYZ.
signcode /spc XYZ.spc /k XYZ XYZ.exe
El comando siguiente firma el ensamblado myAssembly con el certificado de myCertificate.spc y la clave privada de myKey.pvk.
signcode /spc myCertificate.spc /v myKey.pvk myAssembly