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 CSC de eSigner para operaciones de firma. Actúa como un token USB virtual y carga los certificados de firma de código en el almacén de certificados. Esta función ayuda a que su certificado eSigner sea más flexible con opciones para automatizar las firmas en procesos CI/CD que no existen con un token USB físico.
Esta guía muestra cómo realizar la firma de código manual y automatizada en Windows SignTool utilizando un certificado de producción o un certificado de prueba.
Nota: eSigner CKA permite opciones flexibles para automatizar las 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.
Requisitos
- Un certificado de firma de código emitido por SSLcom.
- El certificado de firma de código debe estar registrado actualmente en eSigner. Consulte esta guía: Inscríbase con eSigner para la firma remota de documentos y códigos
- Instale eSigner CKA en su computadora y configure el modo de firma (manual o automática) y el tipo de firma (producción o prueba). Consulte este artículo para obtener instrucciones de instalación: Cómo instalar el adaptador de clave en la nube (CKA) de SSL.com eSigner.
Procedimiento opcional: utilizar el análisis de malware previo a la firma
Malware Scan es un servicio fundamental de SSL.com que garantiza que el software esté libre de malware antes de firmarlo con un certificado de firma de código. Al integrar Malware Scan, los desarrolladores agregan una sólida capa de seguridad, deteniendo automáticamente el proceso de firma si se detecta malware y alertando al desarrollador para que tome las medidas necesarias.
Contiene: pescado (Tilapia).
- 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 y bloqueador de malware habilitado son elegidos.
- Instalar eSigner Cloud Key Adapter.
- Instale eSigner CodeSignTool. Hacer clic aquí para descargar eSigner CodeSignTool.
- Escanee el código en CodeSignTool usando el siguiente comando:
scan_code [-hV] -input_file_path=<inputFilePath> -password=<PASSWORD> [-program_name=<programName>] -username=<USERNAME>
- Use SignTool 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.
Formular el comando para firmar el código
Componentes del Comand
Tanto para la firma de código manual como para la automatizada, el comando contiene:
- La ubicación de SignTool (herramienta de línea de comandos que se encarga de firmar digitalmente un archivo y verificar la firma), entre comillas dobles. Ejemplo: “C:\Archivos de programa (x86)\Kits de Windows\10\bin\10.0.22000.0\x86\signtool.exe”
Nota: La ubicación de SignTool dependerá de la versión del SDK descargado y de la arquitectura utilizada. - El /fd sha256 opción que especifica el algoritmo hash
- El / tr http://ts.ssl.com opción que especifica la dirección del servidor de marca de tiempo
- /tdsha256 opción que especifica el algoritmo de resumen de marca de tiempo
- 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
- El actual huella digital del certificado
- La ruta del archivo que se firmará, entre comillas dobles: “RUTA DEL ARCHIVO SIGNABLE”
En general el comando debería verse así:
"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”.
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 Pestaña y luego desplácese hacia abajo para revelar la huella digital. Copie la huella digital e inclúyala en su comando cuando esté firmando el código.
Firma de código manual
Instalar eSigner CKA
Acceda a SignTool a través de la línea de comandos
Para recordar, el comando para firmar código se ve así:
"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 el comando y presionar Acceder, 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.
¡Éxito! Tu código ya está firmado.
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.
Podrás 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
Acceda a SignTool a través del comando
Para recordar, el comando para firmar código se ve así:
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 el 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.
Guías de firma de código relacionadas con eSigner CKA
- Cómo firmar un archivo de kit de laboratorio de hardware (HLK) con eSigner CKA y HLKSigntool. El Hardware Lab Kit (HLK) se utiliza para probar y preparar controladores en modo kernel para enviarlos a Microsoft. Para la integración con la plataforma HLK de Microsoft, eSigner CKA también exige la instalación de HLKSigntool.
- Cómo firmar macros VBA usando eSigner CKA. Microsoft Visual Basic para Aplicaciones (VBA) permite a aquellos sin conocimientos de programación grabar, crear y modificar macros que automatizan tareas repetitivas dentro de las aplicaciones de Office.
- Cómo firmar archivos .app usando eSigner CKA. El archivo Microsoft_Application.app contiene de forma exhaustiva todas las extensiones que constituyen una solución y ofrece un método eficiente para definir y referenciar la identidad de esta solución.
- Cómo firmar archivos vsix usando eSigner CKA. A
.vsix
El archivo es un paquete de instalación de extensiones y complementos para Visual Studio, el entorno de desarrollo integrado (IDE) de Microsoft.