Uso de su certificado de firma de código

Esta página web proporciona instrucciones sobre el uso de un SSL.com OV or EV certificado de firma de código con SignTool de Microsoft y SSL.com SSL Manager.

Estas instrucciones asumen que su certificado de firma de código ha sido instalado o que lo tiene en un token de hardware. Para la firma de código basada en la nube utilizando la plataforma eSigner, consulte el página de la información y este guía de inscripción.

Recuerde que para los certificados de firma de código OV y EV basados ​​en hardware, la clave privada solo existe en el token USB YubiKey FIPS que te fue enviado y que el token debe adjuntarse a la computadora que se está utilizando para firmar la solicitud. Los usuarios de Windows con tokens FIPS de YubiKey también deben descargar e instalar el Minicontrolador de tarjeta inteligente YubiKey antes de usar su token.

VO y Los certificados de firma de código EV no deben instalarse manualmente en su computadora, lo que puede causar problemas de configuración. Los certificados enviados en YubiKeys desde SSL.com se pueden usar sin instalación adicional más allá de instalar el Minicontrolador de tarjeta inteligente YubiKey y conectando el token a su computadora. Certificados solicitados a través de atestación remota debe descargarse e instalarse en el dispositivo que contiene la clave privada (por ejemplo, YubiKey FIPS u otro hardware compatible), no en el almacén de certificados de su computadora.
Si planea firmar controladores de Windows 10 con un certificado de firma de código EV, necesitará registrarse con el Programa de desarrollo de hardware de Windows.
Para obtener instrucciones sobre cómo utilizar su certificado de firma de código OV / IV o EV con Java, consulte nuestro Guía de firma de código Java.

Firmar un ejecutable con SignTool

Instalar Windows SDK y SignTool

SignTool se incluye con SDK de Windows 10. Después de la instalación, SignTool se ubicará debajo de:

C: \ Archivos de programa (x86) \ Windows Kits \ 10 \ bin \ \ x64 \ signtool.exe

Inicio Powershell

Iniciar un Powershell ventana de comandos buscando "Powershell" en el Inicio menú y haciendo clic en la aplicación de escritorio.

Powershell es una interfaz de línea de comandos para los servicios centrales de Windows. Puede usarlo para ejecutar SignTool y firmar su código.

Para EV código firma, conecte su token USB a su computadora (si aún no lo ha hecho). Si usa eSigner, instale Adaptador de clave eSigner Cloud

Recuerde que la clave privada solo existe en el token USB que se le envió y que el token debe estar adjunto a la computadora que se está utilizando para firmar la solicitud. Este paso se debe omitir si está utilizando un certificado de firma de código OV.

Firme Ejecutable

Puede firmar un ejecutable emitiendo el siguiente comando en la ventana de Powershell. Si usa la firma en la nube de eSigner con signtool.exe, asegúrese de instalar Firmante electrónico CKA

. \ signtool.exe sign / fd sha256 / a "C: \ ruta \ a \ MyExecutable.exe"
  • El /fd La opción selecciona el algoritmo de resumen que se utilizará al firmar. Compilaciones de Windows 10 SDK, HLK, WDK y ADK 20236 y superior requieren que esta opción esté configurada al firmar. Se recomienda SHA256 sobre SHA1 por seguridad.
  • El /a La opción indica a SignTool que busque automáticamente un certificado de firma de código apropiado para su ejecutable.
  • Si está utilizando un certificado de firma de código EV, se le pedirá el PIN de su token USB. Si necesita ayuda para encontrar su PIN, consulte este tutorial.Ingrese su PIN
Nota: Si está firmando archivos de código que se incluirán en un instalador (como un archivo MSI de Windows), deberá firmar estos archivos antes de crear el instalador y luego firmar el archivo del instalador.

Seleccionar un certificado de firma

Especifique el nombre del sujeto

Si tiene más de un token de firma de código o certificados USB instalados, puede especifique el certificado desea utilizar incluyendo su Nombre del tema mediante el /n .

Puede encontrar el nombre del sujeto de su certificado EV CS utilizando la herramienta de gestión de certificados de Microsoft administrador de certificación. Abra la herramienta desde el menú Inicio y busque su certificado EV CS en la carpeta "Personal", en "Certificados", como se muestra en la imagen a continuación. El nombre del sujeto es el campo "Emitido a" en certmgr.

En la imagen de arriba, el nombre del sujeto del certificado es example. Puede especificar este valor en SignTool con el siguiente comando.

. \ signtool.exe sign / fd sha256 / n "ejemplo" "C: \ ruta \ a \ MyExecutable.exe"

Especificar hash SHA1

Si tiene varios certificados con el mismo nombre de sujeto, también puede usar el hash SHA1 (o "huella digital") de un certificado para seleccionarlo y firmarlo. Reemplazar THUMBPRINT en el siguiente comando con el hash SHA1 real de su certificado. Puede encontrar este valor viendo los detalles del certificado en certmgr y buscando el Thumbprint campo (asegúrese de eliminar cualquier espacio de la huella digital antes de usarlo en su comando).

. \ signtool.exe sign / fd sha256 / sha1 THUMBPRINT "C: \ ruta \ a \ MyExecutable.exe"

Utilice un archivo PKCS # 12 / PFX

Si tiene un certificado de firma de código y una clave privada en un archivo PKCS # 12 (también conocido como archivo PFX o P12), puede especificar el archivo y su contraseña en la línea de comando:

. \ signtool.exe sign / fd sha256 / f "C: \ ruta \ a \ MyCertificate.pfx" / p contraseña "C: \ ruta \ a \ MyExecutable.exe"

Marcando la hora

El sellado de tiempo en su código permitirá que sea confiable después de que expire su certificado de firma de código. Si desea agregar un fecha y hora en el archivo binario firmado, puede hacerlo usando SignTool's /tr opción, que debe seguirse configurando el algoritmo de resumen de marca de tiempo con /td. El comando en el fragmento a continuación incluye una marca de tiempo de SSL.comservicio de marca de tiempo al firmar un ejecutable.

. \ signtool.exe sign / fd sha256 / tr http://ts.ssl.com / td sha256 / a "C: \ ruta \ a \ MyExecutable.exe"
Nota: Asegúrese de utilizar SignTool's /tr opción (especifique la URL del servidor de sello de tiempo RFC 3161), no /t (URL del servidor de marca de tiempo), que es incompatible con el servidor de marca de tiempo de SSL.com.
Nota: El /td opción debe: seguir el /tr opción. Si el algoritmo de resumen de marca de tiempo se especifica antes que el servidor de marca de tiempo, se utilizará el algoritmo SHA-1 predeterminado. Compilaciones de Windows 10 SDK, HLK, WDK y ADK 20236 y superior requieren el uso de /tr cuando se marca el tiempo. Se recomienda SHA256 sobre SHA1 por seguridad.
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 heredado http://ts.ssl.com/legacy para obtener una marca de tiempo de una unidad de sellado de tiempo RSA.

Otras Opciones

Otras opciones importantes de SignTool son:

  • /d: Agregue una descripción del código firmado. Por ejemplo, /d "test code".
  • /du: Agregue una URL con una descripción ampliada del código firmado. Por ejemplo, /du https://your_website.tld/project/description.

Usando todas las opciones anteriores (pero omitiendo /a, /sha1o /f porque estamos especificando el nombre del sujeto del certificado con /n, nuestra línea de comando se ve así:

signtool.exe sign / n "ejemplo" / fd sha256 / tr http://ts.ssl.com / td sha256 / d "código de prueba" / du https: //your_website.tld/project/description "C: \ path \ to \ MyExecutable.exe "

Verificar firma

Utilice este comando para verificar su código firmado (tenga en cuenta que el /pa La opción debe estar presente en el comando):

. \ signtool.exe verificar / pa "C: \ ruta \ a \ MyExecutable.exe"

Si su archivo se ha firmado correctamente, debería ver un resultado como este:

Archivo: C: \ ruta \ a \ MyExecutable.exe Indice Algoritmo Marca de tiempo =================================== ===== 0 sha256 RFC3161 Verificado con éxito: C: \ ruta \ a \ MyExecutable.exe

También puede verificar que un archivo ha sido firmado haciendo clic derecho en su icono y seleccionando Propiedades en el menú, luego seleccionando el Firmas digitales lengüeta. Ver detalles sobre una firma seleccionándola y haciendo clic en el Detalles del botón.

Firmas digitales

Aquí podemos ver que el archivo contiene una firma digital válida, creada por SSL Corp el 28 de junio de 2020.

Detalles de la firma digital

Firmar un ejecutable con SSL Manager

Si prefiere un enfoque más basado en gráficos, puede usar SSL.comel software interno, SSL Manager, para firmar sus archivos. Muchos clientes prefieren usar SSL Manager porque ofrece el beneficio adicional de tener fácil acceso a todos sus certificados en una interfaz unificada. Para obtener instrucciones sobre cómo descargar e instalar SSL Manager, consulte nuestro guía de instalación.

Para firmar un ejecutable, comience seleccionando Firma de código> Paquete de código de firma y marca de tiempo en SSL Managermenú de.

Paquete de código de firma y marca de tiempo

En el formulario de firma de código, puede seleccionar el ejecutable y el certificado de firma de código (ya sea de un archivo o un almacén de certificados) y uno de los servidores de marca de tiempo disponibles. Cuando haya terminado, haga clic en el Firme botón para firmar su código. Si está cargando un certificado desde un archivo PFX, deberá ingresar la contraseña del archivo. Si está utilizando un certificado de firma de código EV, se le pedirá el PIN de su token USB.

Además de la firma de código, SSL Manager Ofrece muchas funciones potentes. Para más detalles, consulte SSL Managerdocumentación de, especialmente el Menú de firma de código.

¡Gracias por elegir SSL.com! Si tiene alguna pregunta, comuníquese con nosotros por correo electrónico a Support@SSL.com, llamada 1-877-SSL-SECURE, o simplemente haga clic en el enlace de chat en la parte inferior derecha de esta página.

Suscríbase al boletín de SSL.com

No te pierdas los nuevos artículos y actualizaciones de SSL.com

Manténgase informado y seguro

SSL.com es líder mundial en ciberseguridad, PKI y certificados digitales. Regístrese para recibir las últimas noticias, consejos y anuncios de productos de la industria de SSL.com.

Nos encantaría recibir tus comentarios

Responda nuestra encuesta y háganos saber lo que piensa sobre su compra reciente.