Přeskočit na obsah
  1. Inicio
  2. Inicio
  3. Ayuda
  4. Certificados Code Signing
  5. Firmar con KeyLocker cloud HSM

Firmar con KeyLocker cloud HSM

Este artículo le enseñará a firmar en la nube con KeyLocker HSM. El tutorial aplica para todas las plataformas y diferentes herramientas de firma – desde SignTool hasta Jarsigner. Esta información es la base para firmar con Software Trust Manager de DigiCert ONE, y el principio de firma aplica para ambos servicios.

Compatibilidad de KeyLocker

Antes de probar KeyLocker, seguramente se preguntará si puede utilizarlo en su trabajo y si funcionará. KeyLocker, al igual que Software Trust Manager de DC1 y otras librerías relacionadas, son compatibles con las herramientas de firma por parte de terceros. Consulte Signing tool integration de DigiCert para obtener una lista completa de los formatos que puede firmar utilizando KeyLocker con herramientas compatibles.

A continuación encontrará los formatos más utilizados para las versiones 32b y 64b de SignTool:

  • SignTool (32-bit): .doc, .docm, .dot, .dotm, .msi, .cab, .exe, .dll, .mpp, .mpt, .pot, .potm, .ppa, .ppam, .pps, .ppsm, .ppt, .pptm, .pub, .vdw*, .vdx*, .vsd*, .vsdm, .vss*, .vssm, .vst*, .vstm, .vsx*, .vtx*, .wiz*, .xla, .xlam, .xls, .xlsb, .xlsm, .xlt, .xltm
  • SignTool (64-bit): .appx, .appxbundle, .arx, .cab, .cat, .cbx, .cpl, .crx, .dbx, .deploy, .dll, .drx, .efi, .exe, .js, .msi, .msix, .msixbundle, .msm, .msp, .ocx, .psi, .psm1, .stl, .sys, .vbs, .vsix, .wsf, .xsn

Asistente de KeyLocker

Después de iniciar sesión en KeyLocker, verá un asistente de configuración que le ayudará a descargar la aplicación DigiCert ONE Clients. Con ella se conectará en su ordenador a la cuenta de KeyLocker, se le instalarán las bibliotecas necesarias, incluido SMCTL, y se configurarán en el sistema las variables para la autenticación. Con respecto al procedimiento anterior, se trata de una simplificación considerable.

En el primer paso del asistente de KeyLocker, descargue la aplicación DigiCert ONE Clients, instálela y ejecútela. El inicio de sesión es el mismo que configuró en la interfaz web de KeyLocker.

Los datos para la autenticación los obtendrá en el asistente de KeyLocker
Los datos para la autenticación los obtendrá en el asistente de KeyLocker

En el siguiente paso, en la aplicación de escritorio instale SMCTL, que es la herramienta principal para la firma propiamente dicha.

Instalación de SMCTL
Instalación de SMCTL

Después de la instalación verá la elección entre tres posibles formas de guardar las variables de KeyLocker en el sistema. Le recomendamos mantener la opción predeterminada «Store my credentials». Los datos se guardarán en el sistema y no tendrá que volver a iniciar sesión en la cuenta antes de cada firma.

Elección del método de autenticación para KeyLocker
Elección del método de autenticación para KeyLocker

Si elige la opción de guardar en el sistema, en Windows las credenciales estarán en el Administrador de credenciales (Credential Manager).

Los datos de acceso a KeyLocker se guardan en el Administrador de credenciales (Credential Manager)
Los datos de acceso a KeyLocker se guardan en el Administrador de credenciales (Credential Manager). Ahí permanecerán para siempre y no tendrá que volver a introducirlos.

Después de configurar los datos de acceso en el sistema, que la aplicación DigiCert ONE Clients realiza automáticamente, pase al tercer paso del asistente. Este ahora le pedirá que ejecute en su sistema el comando SMCTL healthcheck, que probará la comunicación del entorno local con KeyLocker y la correcta autenticación. Todo debería transcurrir sin problemas, así que confirme «I have run the healthcheck command in SMCTL» y haga clic en el botón Check Status.

Prueba de la configuración correcta
Prueba de la configuración correcta

Verá la confirmación verde You're ready to start signing with SMCTL, lo que significa que todo está configurado correctamente, la comunicación funciona y puede comenzar a firmar.

Elija entre las cuatro opciones la plataforma correcta que utiliza para firmar y, a continuación, verá un ejemplo (guía) para firmar con KeyLocker.

KeyLocker Setup Complete
KeyLocker Setup Complete

Firma de archivos

Para firmar recomendamos utilizar principalmente la utilidad SMCTL, que funciona en la línea de comandos (CLI). La segunda variante es la utilidad DigiCert Click-to-sign (véase el último párrafo).

Las guías para firmar archivos para las principales plataformas (Authenticode, Docker, Java...) las encontrará directamente en la interfaz web de KeyLocker. Después de finalizar el asistente (título «Setup complete!»), puede hacer clic en una de las plataformas ofrecidas y la interfaz le mostrará el comando preparado con el uso del certificado seleccionado. Solo tendrá que copiarlo en la CLI y determinar el archivo a firmar. ¡Más sencillo, imposible!

Firma de archivos con SMCTL (recomendado)

La utilidad SMCTL proviene de DigiCert y también se puede utilizar para la firma simplificada de archivos utilizando herramientas de terceros (al menos necesitará SignTool). SMCTL funciona con las herramientas más utilizadas: SignTool, Apksigner, Jarsigner, Mage, Nuget. Encontrará la herramienta en la carpeta C:/Archivos de programa/DigiCert/DigiCert Keylocker Tools/smctl.exe

En el último paso del asistente haga clic en Authenticode y en el siguiente cuadro de diálogo elija el certificado disponible en KeyLocker. Recibirá el comando completo para firmar, en el que introducirá el destino y lo ejecutará localmente en su CLI. Inmediatamente recibirá la confirmación de la firma correcta del archivo.

Guía para firmar en la plataforma Windows - Authenticode
Guía para firmar en la plataforma Windows - Authenticode

Encontrará la documentación de SMCTL en el sitio web de DigiCert.

Firma de archivos con SignTool

Las siguientes instrucciones son para la herramienta SignTool del paquete Windows SDK. Esta es la herramienta de firma más utilizada en la plataforma Windows.

Aquí tiene un ejemplo de firma digital con certificado hash:

C:/>signtool.exe sign /sha1 ecb0f10ab1XXXXXXXXXX1681fb70a31e32288263 /tr http://timestamp.digicert.com /td SHA256 /fd SHA256 C:/Users/User/Documents/HelloSign.exe

Y aquí un ejemplo de firma con KeyLocker y archivo del certificado:

C:/Users/User>signtool.exe sign /csp "DigiCert Signing Manager KSP" /kc key_558469087 /f C:/Users/User/Documents/cert_558469087.crt /tr http://timestamp.digicert.com /td SHA256 /fd SHA256 C:/Users/User/Documents/HelloSign.exe
Done Adding Additional Store
Successfully signed: C:/Users/User/Documents/HelloSign.exe

Puede verificar la validez de la firma utilizando el siguiente comando: signtool verify /v file.exe. También puede encontrar las propiedades de la firma en el archivo firmado a través del explorador y en Propiedades (botón derecho del ratón).

Firma de archivos con Jarsigner

Puede utilizar Jarsigner junto con KeyLocker gracias a la biblioteca PKCS11. Es posible firmar de forma simplificada con SMCTL o directamente con Jarsigner y la biblioteca PKCS11.

Ejemplo de firma con Jarsigner:

jarsigner -keystore NONE -storepass NONE -storetype PKCS11 -sigalg SHA256withRSA -providerClass sun.security.pkcs11.SunPKCS11 -providerArg pkcs11properties2.cfg -signedjar C:/Users/Name/Desktop/signed/signedjar.jar C:/Users/Name/Desktop/ToSign/jartosign.jar key3 -tsa "http://timestamp.digicert.com"

Puede verificar la validez de la firma utilizando el comando:

jarsigner -verify  -certs -verbose

Encontrará la documentación de Jarsigner en el sitio web de DigiCert.

Firma con DigiCert Click-to-sign

Esta utilidad ofrece una interfaz gráfica para facilitar la firma de archivos. Sin embargo, el resultado y los principios de la firma digital no difieren de las herramientas de la línea de comandos, sino que permiten una configuración más detallada de los parámetros de firma. DigiCert Click-to-sign sólo dispone de opciones simplificadas, aunque éstas pueden ser suficientes para la mayoría de los usuarios.

DigiCert Click-to-sign tiene una gran ventaja - para configurarlo solo es necesario entrar al asistente de configuración de datos de acceso de KeyLocker [secrets]. El asistente simplemente comprobará su conexión a la nube y configurará estas variables en el sistema sin tener que hacerlo manualmente.

Firmar con esta herramienta es de lo más sencillo: Haga clic con el botón derecho del ratón en el archivo a firmar y seleccione Click to Sign en el menú. A continuación, podrá firmar directamente o con una confirmación, la cual encontrará en la configuración de la firma.

Revisión antes de firmar en DigiCert Click-to-sign
Revisión antes de firmar en DigiCert Click-to-sign

Puede encontrar la documentación de Click-to-sign en el sitio web de DigiCert.

Importante: Si Click-to-sign no funciona, establezca la variable PATH con las rutas a Click-to-sign y a la aplicación de firma (SignTool) separadas por un punto y coma. Por ejemplo:

Path: C:/Program Files/DigiCert/DigiCert Keylocker Tools;C:/Program Files (x86)/Windows Kits/10/bin/10.0.22621.0x64;

Integración en CI/CD

La principal ventaja de KeyLocker es la posibilidad de automatizar las firmas gracias a la integración en el flujo de trabajo CI/CD. DigiCert ha preparado una serie de scripts y plugins para las herramientas y plataformas de desarrollo más utilizadas. Existen plugins disponibles para Azure DevOps, GitHub y Jenkins, y ofrece aún más scripts de integración para la biblioteca PKCS11.

Puede encontrar información completa en el artículo CI/CD integrations.

Documentación y otras fuentes:

¿Tiene preguntas?

No dude en contactar con nuestra atención al cliente, que le aconsejará y le ayudará.

ZONER a.s.

Nové Sady 18
602 00 Brno

IČ: 49437381
DIČ: CZ49437381