Herramienta Firma de archivos (Signcode.exe)

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 Firma de archivos sólo se distribuye con las versiones 1.0 y 1.1 de .NET Framework SDK. En las versiones posteriores de .NET Framework SDK, utilice la utilidad Herramienta Firma (SignTool.exe).

signcode [options] filename | assemblyname

Parámetros

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 algorithm

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 (my) 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.

Comentarios

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.

Ejemplos

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

Vea también

Referencia

Herramientas de .NET Framework
Herramienta Creación de certificados (Makecert.exe)
Herramienta de prueba de certificados de compañía de software (Cert2spc.exe)
Símbolo del sistema de SDK

Conceptos

Permisos de seguridad