Herramienta Firma (SignTool.exe)
La herramienta Firmar es una herramienta de la línea de comandos que firma archivos digitalmente, comprueba firmas en archivos o archivos con marcas de tiempo.
Nota
No se admite la herramienta Firmar en Microsoft Windows NT, Windows Me, Windows 98 o Windows 95.
signtool [command] [options] [file_name | ...]
Parámetros
Argumento | Descripción |
---|---|
command |
Uno de los indicadores de comando que especifica una operación que se va a realizar en un archivo. |
options |
Uno de los indicadores de la opción que modifica un indicador de comando. |
file_name |
Ruta de acceso a un archivo que se va a firmar. |
La herramienta Firmar admite los siguientes comandos.
Comando | Descripción |
---|---|
catdb |
Agrega o quita un archivo de catálogo a o de una base de datos de catálogo. |
sign |
Firma archivos digitalmente. |
signwizard |
Inicia el asistente de firma. Sólo se puede especificar un único archivo para el argumento de la línea de comandos del nombre de archivo. |
timestamp |
Archivos con marcas de tiempo. |
verify |
Comprueba la firma digital de archivos. |
Las siguientes opciones se aplican al comando catdb**.
Opción catdb | Descripción |
---|---|
/d |
Especifica que se actualiza la base de datos de catálogo predeterminada. Si no se utiliza ni la opción /d ni la opción /g, la herramienta Firmar actualiza el componente del sistema y la base de datos del controlador. |
/g GUID |
Especifica que se actualiza la base de datos de catálogo identificada por el identificador único global (GUID). |
/r |
Quita el catálogo especificado de la base de datos de catálogo. Si no se especifica esta opción, la herramienta Firmar agregará el catálogo especificado a la base de datos de catálogo. |
/u |
Especifica que se genera un nombre único automáticamente para los archivos de catálogo agregados. Si es necesario, a los archivos de catálogo se les cambiarán el nombre para evitar que se produzcan conflictos de nombre con archivos de catálogo existentes. Si no se especifica esta opción, la herramienta Firmar sobrescribirá cualquier catálogo existente que tenga el mismo nombre que el catálogo que se va a agregar. |
Nota
Las bases de datos de catálogo se utilizan para la búsqueda automática de archivos de catálogo.
Las siguientes opciones se aplican al comando ** sign ** .
Opción Firmar | Descripción |
---|---|
/a |
Automáticamente selecciona el mejor certificado de firma. Si esta opción no está presente, la herramienta Firmar sólo espera encontrar un certificado de firma válido. |
/c CertTemplateName |
Especifica el nombre de plantilla de certificado (una extensión de Microsoft) para el certificado de firma. |
/csp CSPName |
Especifica el proveedor de servicios criptográficos que incluye el contenedor de clave privada. |
/d Desc |
Especifica una descripción del contenido firmado. |
/du URL |
Especifica un Identificador de recursos uniforme (URL) para la descripción expandida del contenido firmado. |
/f SignCertFile |
Especifica el certificado de firma en un archivo. Si el archivo está en formato de Intercambio de información personal (PFX) y protegido por una contraseña, utilice la opción /p para especificar la contraseña. Si el archivo no contiene claves privadas, utilice las opciones /csp y /k para especificar el CSP y el nombre de contenedor de clave privada, respectivamente. |
/i IssuerName |
Especifica el nombre del emisor del certificado de firma. Este valor puede corresponder a una subcadena del nombre del emisor completo. |
/k PrivKeyContainerName |
Especifica el nombre del contenedor de claves privadas. |
/n SubjectName |
Especifica el nombre del sujeto del certificado de firma. Este valor puede corresponder a una subcadena del nombre del sujeto completo. |
/p Contraseña |
Especifica la contraseña que se debe utilizar al abrir un archivo PFX. Se puede especificar un archivo PFX utilizando la opción /f. |
/r RootSubjectName |
Especifica el nombre del sujeto del certificado raíz al que el certificado de firma debe encadenarse. Este valor puede corresponder a una subcadena del nombre del sujeto completo del certificado raíz. |
/s StoreName |
Especifica el almacén que se va a abrir al buscar el certificado. Si no se especifica esta opción, se abre Mi almacén. |
/sha1 Hash |
Especifica el hash SHA1 del certificado de firma. |
/sm |
Especifica que se utiliza el almacén de un equipo, en lugar de un almacén de usuario. |
/t URL |
Especifica la dirección URL del servidor con marca de tiempo. Si esta opción no está presente, el archivo firmado no tendrá marca de tiempo. Se genera una advertencia si se produce algún error relacionado con la marca de tiempo. |
/u Uso |
Especifica el uso de claves mejorado (EKU) que debe estar presente en el certificado de firma. Bien OID o una cadena puede especificar el valor de uso. El uso predeterminado es "Code Signing" (1.3.6.1.5.5.7.3.3). |
Las siguientes opciones se aplican al comando ** timestamp.
Opción de marca de tiempo | Descripción |
---|---|
/t URL |
Obligatorio. Especifica la dirección URL del servidor con marca de tiempo. Se debe haber firmado previamente el archivo marcado. |
Las siguientes opciones se aplican al comando verify.
Opción Firmar | Descripción |
---|---|
/a |
Especifica que todos los métodos se pueden utilizar para comprobar el archivo. Primero, se buscan las bases de datos de catálogo para determinar si el archivo se firma en un catálogo. Si el archivo no se firma en cualquier catálogo, la herramienta Firmar intenta comprobar la firma incrustada del archivo. Se recomienda esta opción a la hora de comprobar archivos que se pueden o no firmar en un catálogo. Los ejemplos de archivos que se pueden o no firmar incluyen controladores o archivos de Windows. |
/ad |
Busca el catálogo utilizando la base de datos de catálogo predeterminada. |
/as |
Busca el catálogo utilizando la base de datos de catálogo de componente del sistema (controlador). |
/ag CatDBGUID |
Busca el catálogo en la base de datos de catálogo identificada por el GUID. |
/c CatFile |
Especifica el archivo de catálogo por nombre. |
/o Versión |
Comprueba el archivo por versión del sistema operativo. El parámetro de versión es del formulario: PlatformID:VerMajor.VerMinor.BuildNumber |
/pa |
Especifica que se utiliza la directiva de verificación de autenticación predeterminada (Default Authentication Verification Policy). Si la opción /pa no se especifica, la herramienta Firmar utilizará la directiva de verificación de controladores de Windows (Windows Driver Verification Policy). Esta opción no se puede utilizar con las opciones catdb. |
/pg PolicyGUID |
Especifica una directiva de verificación por GUID. El GUID corresponde a la propiedad ActionID de la directiva de la verificación. Esta opción no se puede utilizar con las opciones catdb. |
/r RootSubjectName |
Especifica el nombre del sujeto del certificado raíz al que el certificado de firma debe encadenarse. Este valor puede corresponder a una subcadena del nombre del sujeto completo del certificado raíz. |
/tw |
Especifica que se genera una advertencia si la firma no tiene marca de tiempo. |
Las opciones siguientes se aplican a todos los comandos de la herramienta Firmar.
Opción global | Descripción |
---|---|
/q |
No existe ningún resultado relacionado con una ejecución satisfactoria y ningún resultado mínimo que indique que se ha producido un error durante la ejecución. |
/v |
Resultado detallado sobre una ejecución correcta, una ejecución no satisfactoria y mensajes de advertencia. |
Comentarios
La herramienta Firmar requiere que CAPICOM 2.0 redistribuible se instale en el equipo local. CAPICOM 2.0 redistribuible está disponible en https://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdkredist.htm.
El comando verify de la herramienta Firmar determina si el certificado de firma fue emitido por una autoridad de confianza, si el certificado de firma ha sido revocado y, opcionalmente, si el certificado de firma es válido para una directiva determinada.
La herramienta Firmar devuelve un código de salida de cero para una ejecución satisfactoria, uno para una ejecución no satisfactoria y dos para una ejecución que finalizó con advertencias.
Ejemplos
El comando muestra cómo firmar un archivo automáticamente utilizando un certificado mejor.
signtool sign /a MyFile.exe