Cómo automatizar la firma de código EV con Signtool.exe o Certutil.exe usando eSigner CKA (adaptador de clave de nube)

Este artículo de la guía muestra cómo instalar eSigner CKA y usarlo para la firma de código automática y manual en Signtool. 

eSigner CKA (adaptador de clave en la nube) es una aplicación basada en Windows que utiliza la interfaz CNG (KSP Key Service Provider) para permitir que herramientas como certutil.exe y signtool.exe utilicen la API compatible con eSigner Cloud Signature Consortium (CSC) para operaciones de firma de código empresarial. Actúa como un token USB virtual y carga los certificados de firma de código en el almacén de certificados.

eSigner CKA permite opciones flexibles para automatizar firmas en procesos de CI/CD que no existen con un token USB físico. Para obtener orientación sobre cómo usar eSigner CKA para la firma de código automatizada en herramientas de CI/CD, incluidas CircleCI, GitHub Actions, Gitlab CI y Travis CI, visite esta página: Cómo integrar eSigner CKA con herramientas de CI/CD para la firma de código automatizada.

NOTA 

Este material instructivo requiere lo siguiente: 

  1. Certificado de firma de código EV emitido. 
  2. Certificado de firma de código EV debe estar inscrito actualmente en eSigner. Si este no es el caso, consulte este artículo de guía
  3. Una aplicación de autenticación instalada en su teléfono móvil como la aplicación de autenticación de Google.

 

Los usuarios pueden firmar código con la capacidad de firma de código de validación extendida de eSigner. Haz click abajo para mas informacion.

SABER MÁS

Formular la línea de comando

Componentes de la línea de comandos

Tanto para la firma de código manual como para la automática, deberá escribir la línea de comando en su editor de texto, como Símbolo del sistema. La línea de comando contiene:

  1. La ubicación de SignTool (herramienta de línea de comandos que se encarga de firmar digitalmente un archivo y verifica la firma), entre paréntesis: “C:\Archivos de programa (x86)\Kits de Windows\10\bin\10.0.22000.0\x86\signtool.exe”
  2. El /fd sha256 opción que especifica el algoritmo hash
  3. El / tr http://ts.ssl.com opción que especifica la dirección del servidor de marca de tiempo
  4. /tdsha256 opción que especifica el algoritmo de resumen de marca de tiempo
  5. El / sha1 opción que especifica la huella digital que utiliza SignTool para encontrar el certificado de firma de código apropiado del almacén de claves
  6. La huella digital del certificado real
  7. La ruta del archivo que se firmará, entre paréntesis: "RUTA DEL ARCHIVO FIRMABLE"

En general, la línea de comando debería tener el siguiente aspecto: 

"C:\Archivos de programa (x86)\Windows Kits\10\bin\10.0.22000.0\x86\signtool.exe" firma /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 huella digital del certificado " RUTA DE ARCHIVO FIRMABLE”

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.

Localización de la huella digital de su certificado

Más tarde, al instalar eSigner CKA y agregar su certificado de firma de código EV al Almacén de certificados de usuario, podrá verificar la huella digital de su certificado de firma de código EV presionando Tecla de Windows + R y luego escribe certmgr.msc para acceder al almacén de certificados de usuario. Cuando aparezca la ventana del administrador de certificados, haga clic en el Personal carpeta en el panel izquierdo y luego seleccione la Certificados subcarpeta a la derecha para ubicar su certificado de firma de código EV.

Haga doble clic en el certificado. Seleccione los detalles y luego desplácese hacia abajo para revelar la huella digital. Copie la huella digital e inclúyala en su línea de comando cuando esté firmando código.

Firma de código manual

Instalar eSigner CKA

Al elegir el modo de instalación, seleccione Firma de código manual y luego haga clic en el botón Aceptar.

Iniciar sesión en el programa eSigner CKA

Tras la instalación de eSigner CKA, abra el programa e inicie sesión con el nombre de usuario y la contraseña de su cuenta SSL.com.

Tras iniciar sesión correctamente, podrá ver el nombre de la entidad a la que se emitió el certificado de firma de código EV, el número de serie, la fecha de caducidad y el EVCS (Extended Validation Code Signing) acrónimo.

Escriba la línea de comando en el editor de texto

Para recordar, la línea de comando para la firma de código tiene el siguiente aspecto: 

"C:\Archivos de programa (x86)\Windows Kits\10\bin\10.0.22000.0\x86\signtool.exe" firma /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 huella digital del certificado " RUTA DE ARCHIVO FIRMABLE”

Al escribir la línea de comando en su editor de texto y presionar Participar, verás el mensaje Terminado de agregar una tienda adicional. Aparecerá una ventana que le pedirá que coloque el nombre de usuario y la contraseña de su cuenta SSL.com.

Ingrese la contraseña de un solo uso (OTP) 

Se enviará una contraseña de un solo uso (OTP) para su certificado de firma de código EV inscrito en eSigner a su aplicación de autenticación. Tras una entrada exitosa, el símbolo del sistema indicará que su archivo se ha firmado correctamente.

Verifique la firma digital en el archivo

Después de una firma de código exitosa, ahora puede verificar los detalles de la firma digital en el archivo. Haga clic derecho en el archivo firmado, haga clic en Propiedades, Seguido por el Firmas digitales Pestaña. Aquí verá el nombre del firmante, el algoritmo de resumen utilizado y la marca de tiempo de la firma. Haga clic en el Detalles botón para obtener más información sobre el código firmado.

Al hacer clic Detalles, podrá leer la información que indica Esta firma digital está bien. Proceda a hacer clic en el Ver Certificado del botón.

Después de hacer clic en el Ver Certificado , leerá información que indica que el Certificado Digital emitido para el archivo firmado garantiza que proviene del editor y lo protege de alteraciones después de la publicación.

Firma de código automatizada

Instalar eSigner CKA

Al elegir el modo de instalación, seleccione Firma de código automatizada y luego haga clic en el botón Aceptar.

Guarde el archivo de clave maestra

Aparecerá una nota explicando la importancia de asegurar el archivo de la llave maestra. Léalo y luego haga clic en el botón Aceptar.

Aparecerá una ventana que le permitirá elegir dónde guardará el archivo de clave maestra.

Escriba el nombre de usuario y la contraseña de su cuenta SSL.com

Ingrese el nombre de usuario y la contraseña de su cuenta SSL.com.

Escriba su eSigner Contraseña de un solo uso basada en el tiempo (TOTP)

Luego coloque su Contraseña de un solo uso basada en el tiempo (TOTP). Puede encontrar su TOTP incluido en los detalles del pedido del certificado de firma de código EV en su cuenta SSL.com. Escriba el PIN de 4 dígitos que configuró previamente cuando inscribió su pedido para eSigner y luego haga clic en el Mostrar código QR botón para revelar el TOTP.

Su TOTP se mostrará en un cuadro etiquetado código secreto. Copie el TOTP, péguelo en el Secreto TOTP campo de la ventana eSigner CKA y luego haga clic en el OK Para guardarlo. 

Después de ingresar las credenciales de su cuenta SSL.com y TOTP, podrá ver los detalles de su certificado de firma de código EV. En caso de que decida actualizar su TOTP, pegue el nuevo TOTP en el campo asignado y luego haga clic en Guardar.

Escriba la línea de comando en el editor de texto

Para recordar, la línea de comando para la firma de código tiene el siguiente aspecto: 

C:\Archivos de programa (x86)\Windows Kits\10\bin\10.0.22000.0\x86\signtool.exe” sign /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 certificado huella digital “SIGNABLE RUTA DE ARCHIVO"

Abierto Símbolo del sistema y coloque la línea de comando. Después de presionar enter, verá el aviso que dice Terminado de agregar una tienda adicional.

Después de unos segundos, verá el aviso Firmado con éxito. Esto indica que su archivo ha sido firmado de manera automatizada, sin la necesidad adicional de OTP. 

Comprueba la presencia de la firma digital en tu expediente

Abra la ubicación de la carpeta de su archivo firmado. Haga clic derecho en él y luego haga clic en Propiedades. Haga clic en la pestaña Firmas digitales y aquí verá que el algoritmo hash seguro utilizado tiene 256 bits. Haga clic en el espacio inmediato que muestra el nombre del firmante, el algoritmo de resumen y la marca de tiempo. Después de que se resalte, proceda a hacer clic en el Detalles del botón.

Luego aparecerá una ventana emergente que indica que la firma digital en el archivo es válida e indica la hora específica en que se firmó. Haga clic en el Ver Certificado para ver más información sobre el certificado digital EV Code Signing que se emitió. 

Verá información sobre el certificado de firma de código EV que indica que lo valida como el creador del ejecutable y protege su archivo para que no sea manipulado. 

Cómo probar eSigner CKA con su cuenta sandbox

Instalar eSigner CKA

Elija si desea instalarlo en Manual or Confirmación de Viaje modo

****Tenga en cuenta que si ha elegido un modo, debe volver a instalar el programa antes de poder probarlo en el otro modo.*****

Abra el subdirectorio Roaming de Appdata

 Para probar eSigner CKA con su cuenta de espacio aislado de SSL.com, debe modificar la configuración de la aplicación en el subdirectorio Roaming de la carpeta AppData. Ingresar %Datos de aplicación% en la barra de búsqueda de Windows para llevarlo directamente al subdirectorio de roaming de AppData.

Firma electrónica abierta Archivo de datos con tu editor de texto

Abra la firma electrónicaCKA carpeta, busque el archivo esignerapp.datos, haz clic derecho sobre él y elige la opción de editar el archivo usando tu editor de texto, en este caso Notepad ++

Al abrir el editor de texto, verá los conjuntos de valores a continuación.

Puede separar los conjuntos de valores en filas sucesivas para que sea más fácil editarlos. 

Firma de prueba en modo manual

Para la firma de prueba en modo Manual, deben estar presentes los siguientes valores:

  1. El ID del cliente debe ser: qOUeZCCzSqgA93acB3LYq6lBNjgZdiOxQc-KayC3UMw
  2. Añada -tratar en la api_url
    Antes: “api_url”:”https://cs.ssl.com/csc/v0/
    Después: “api_url”:”https://cs-intentar.ssl.com/csc/v0/"
  3. Reemplaza Inicie sesión Oauth-sandbox en la URL_autorización
    Antes: “auth_url”:”https://Inicie sesión.ssl.com/oauth2/token”
    Después: “auth_url”:”https://Oauth-sandbox.ssl.com/oauth2/token”
  4. “modo_cred”: 0
  5. “clave_maestra”: nulo

Firma de prueba de modo automatizado

Para la firma de prueba en modo Automatizado, deben estar presentes los siguientes valores:

  1. El ID del cliente debe ser: qOUeZCCzSqgA93acB3LYq6lBNjgZdiOxQc-KayC3UMw
  2. Añada -tratar en la api_url
    Antes: “api_url”:”https://cs.ssl.com/csc/v0/
    Después: “api_url”:”https://cs-intentar.ssl.com/csc/v0/"
  3. Reemplaza Inicie sesión Oauth-sandbox en la URL_autorización
    Antes: “auth_url”:”https://Inicie sesión.ssl.com/oauth2/token”
    Después: “auth_url”:”https://Oauth-sandbox.ssl.com/oauth2/token”
  4. “modo_cred”: 1
  5. Reemplaza nulo en master_key con la ruta de archivo exacta de su llave maestra archivo.
    Al instalar eSigner CKA en modo automático con fines de prueba, debe proporcionar las credenciales de inicio de sesión de su cuenta de sandbox. El motivo es que en la firma de código automatizada, las credenciales de inicio de sesión se cifran con la clave maestra. Si ingresa las credenciales de inicio de sesión de producción en la instalación y luego cambia los valores en el archivo esignerapp.data siguiendo un formato de prueba automatizado, no podrá realizar pruebas porque el nombre de usuario y la contraseña que proporcionó no están presentes en el entorno de prueba de espacio aislado.

Inicie sesión en eSigner CKA con las credenciales de su cuenta de sandbox de SSL.com

Después de cambiar los valores de esignerapp.datos, ahora puede probar su certificado de firma de código EV desde su sandbox siguiendo los mismos pasos descritos anteriormente para un certificado en vivo.

Cómo firmar un archivo de kit de laboratorio de hardware (HLK) con eSigner CKA y HLKSigntool

Hardware Lab Kit es una herramienta para probar y preparar un controlador de modo kernel para enviarlo a Microsoft. Actualmente, eSigner CKA también requiere la instalación de HLKSigntool para poder usarse dentro del software HLK de Microsoft. 

eSigner CKA primero debe instalarse y configurarse (el usuario inició sesión y el conjunto de secretos TOTP) antes de ejecutar HLKSignTool.exe. 

Paso 1. Instalar y configurar eSigner CKA

Paso 2. Use HLKSignTool con la línea de comando a continuación

Línea de comando
HLKSignTool.exe certificado_serial “ruta_al_archivo”

Ejemplo:

HLKSignTool.exe 3364de1e9ed1882e963a89ff7a958e9d "A:\teet.hlkx"

Cómo firmar macros VBA usando eSigner CKA

Descargue e instale usando este enlace Paquetes de interfaz de tema de Microsoft Office para proyectos VBA de firma digital usando este enlace: https://www.microsoft.com/en-us/download/details.aspx?id=56617

Una vez instalado, realice los siguientes pasos:

  1. Abra un símbolo del sistema de administrador y escriba lo siguiente, la ruta será donde acaba de instalar los archivos:

    regsvr32.exe

    regsvr32.exe

    Para obtener más información sobre cómo registrar controles OLE, visite El sitio web de Microsoft.

    Si tiene éxito, verá un mensaje: “DIIRegister Server in tuvo éxito”.

  2. Instale lo siguiente: download.microsoft.com/download/C/6/D/C6D0FD4E-9E53-4897-9B91-836EBA2AACD3/vcredist_x86.exe
  3. Instalar eSigner CKA
  4. Ejecute el comando SignTool para firmar macros: https://www.ssl.com/how-to/automate-ev-code-signing-with-signtool-or-certutil-esigner/#components-of-the-command-line

Cómo firmar archivos .app usando eSigner CKA

  1. Descargar Dynamics.365.BC.55195.US.DVD.zip at https://www.microsoft.com/en-US/download/details.aspx?id=105113 
    Nota: Si intenta firmar un .app archivo usando eSigner CKA sin instalar primero Microsoft Aplicación Dynamics 365 Business Central, recibirá este error de SignTool: Este formato de archivo no se puede firmar porque no se reconoce.
  2. Abra la Dynamics.365.BC.55195.US.DVD.zip y extraiga el contenido a su ubicación preferida.
  3. Abierto setup.exe para Microsoft Dynamics 365 Business Central y haga clic en el Siguiente> del botón.
  4. Lea los Términos de licencia del software de Microsoft y luego haga clic en Acepto > del botón.
  5. Elige Opciones de instalación avanzadas
  6. Haga clic Elija una opción de instalación.
  7. Elija el Servidor opción de instalación.
  8. Haga clic en el ¡Aplicá! botón.
  9. Espere a que se complete la instalación. Tras una instalación exitosa, haga clic en el Cerrar del botón.
  10. Firme su archivo .app en SignTool: https://www.ssl.com/how-to/automate-ev-code-signing-with-signtool-or-certutil-esigner/#components-of-the-command-line

Cómo firmar archivos vsix usando eSigner CKA

  1. Descargue el SDK de Dotnet Core: https://dotnet.microsoft.com/en-us/download/dotnet/7.0
  2. Instalar OpenVsixSignTool
    dotnet tool install -g OpenVsixSignTool
  3. Utilice este comando de signo:
    OpenVsixSignTool sign --sha1 CERTIFICATE THUMBPRINT --timestamp http://ts.ssl.com -ta sha256 -fd sha256 "SIGNABLE FILE PATH"

Cómo usar el escaneo de malware en eSigner CKA

Instrucciones:

  1. Inicie sesión en su cuenta SSL.com. Haga clic en la pestaña de pedidos seguido de la descargar enlace de su certificado para mostrar sus detalles. Desplácese hacia abajo hasta el FIRMA DE CREDENCIALES y ubique la parte que muestra sus credenciales de certificado de firma electrónica. Asegúrese de que los botones de radio que dicen credencial de firma habilitada bloqueador de malware habilitado son elegidos.
  2. Instalar eSigner Cloud Key Adapter.
  3. Instale eSigner CodeSignTool. Hacer clic aquí para descargar eSigner CodeSignTool.
  4. Escanee el código en CodeSignTool usando el siguiente comando: scan_code [-hV] -input_file_path=<inputFilePath> -password=<PASSWORD> [-program_name=<programName>] -username=<USERNAME>
  5. Use Sign Tool para firmar el código con eSigner CKA usando el siguiente comando: scan_code -username=<USERNAME> -password=<PASSWORD> -credential_id=<eSigner Credential ID> -input_file_path=<inputFilePath>

parámetros:

  • -input_file_path=<PATH>: Ruta del objeto de código a firmar.
  • -username=<USERNAME>SSL.com nombre de usuario
  • -password=<PASSWORD>SSL.com contraseña de la cuenta.
  • -program_name=<PROGRAM_NAME>: Nombre del programa
  • -credential_id=<CREDENTIAL_ID>: ID de credencial para firmar el certificado. Su ID de credencial de firma electrónica se encuentra en su SSL.com página de pedido de certificado.

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.