en English
X

Select Language

Powered by Google TranslateTranslate

We hope you will find the Google translation service helpful, but we don’t promise that Google’s translation will be accurate or complete. You should not rely on Google’s translation. English is the official language of our site.

en English
X

Select Language

Powered by Google TranslateTranslate

We hope you will find the Google translation service helpful, but we don’t promise that Google’s translation will be accurate or complete. You should not rely on Google’s translation. English is the official language of our site.

Firma de código Microsoft Authenticode en Linux con Jsign

Jsign es una herramienta Java de código abierto e independiente de la plataforma para la firma de código Microsoft Authenticode. Jsign es fácil de integrar con sistemas de compilación como Maven, Gradle y Ant, o puede usarse directamente desde la línea de comandos.

En este tutorial cubriremos el uso de Jsign desde la línea de comandos de Linux para Firma de código OV / IV y la Firma de código EV. Debido a que Jsign está basado en Java, también puede usarlo en sistemas Windows y MacOS.

Instalar Jsign

Primero, tendrá que descargar e instalar Jsign. los Sitio web de Jsign incluye enlaces a paquetes Debian y RPM para una fácil instalación en los sistemas Linux más populares, así como un .jar archivo.

Firma de código OV / IV

Para la firma de código OV / IV estándar, puede utilizar un certificado almacenado en un almacén de claves de Java o un archivo PKCS # 12 (PFX). SSL.com ofrece certificados de firma de código en formato PKCS # 12, así que lo usaremos para nuestro ejemplo. En todos los ejemplos de código a continuación, reemplace los valores que se muestran en MAYÚSCULAS con sus valores reales.

  1. Primero, use el keytool comando para obtener el alias valor a utilizar al firmar:
    keytool -list -v -keystore PKCS12-FILE.p12 -storetype PKCS12 -storepass PKCS12-PASSWORD
  2. Compruebe la salida de su keytool comando para una línea que comienza con Alias name:.
    Tipo de almacén de claves: PKCS12 Proveedor de almacén de claves: SUN Su almacén de claves contiene 1 entrada Nombre de alias: 1 Fecha de creación: 18 de enero de 2021 Tipo de entrada: PrivateKeyEntry Longitud de la cadena del certificado: 4 ...

    En el ejemplo anterior, Alias name is 1.

  3. Utilice un comando como el siguiente para firmar y marcar el tiempo en un archivo:
    • jsign comando instalado en todo el sistema:
      jsign --keystore KEYSTORE.p12 --alias ALIAS-NAME --storetype PKCS12 --storepass PKCS12-PASSWORD --tsaurl http://ts.ssl.com --tsmode RFC3161 ARCHIVO PARA FIRMAR
    • Con Jsigner .jar archivo:
      java -jar jsign-3.1.jar --keystore KEYSTORE.p12 --alias ALIAS-NAME --storetype PKCS12 --storepass PKCS12-PASSWORD --tsaurl http://ts.ssl.com --tsmode RFC3161 FILE-TO- FIRMAR
  4. Si su comando es exitoso, debería ver un resultado como el siguiente:
    Agregar la firma Authenticode a example.exe

Firma de código EV

También puede utilizar Jsign con un certificado de firma de código EV. El ejemplo aquí usa un SSL.com Certificado de firma de código EV instalado en un token FIPS de YubiKey.

  1. Primero, asegúrate de que OpenSC está instalado en su sistema para que pueda comunicarse con su token a través de la API PKCS # 11. En distribuciones basadas en Debian como Ubuntu, puede instalar OpenSC con apt:
    sudo apt instalar opensc
  2. A continuación, cree un archivo de configuración. El nombre del archivo es arbitrario, pero para los siguientes comandos de ejemplo usaremos eToken.cfg. Tenga en cuenta que el camino a opensc-pkcs11.so puede variar en su instalación de OpenSC, así que verifique antes de crear el archivo de configuración.
    nombre = OpenSC-PKCS11 descripción = SunPKCS11 a través de la biblioteca OpenSC = /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so slotListIndex = 0
  3. Utiliza keytool comando para obtener el alias valor a utilizar al firmar:
    keytool -list -v -keystore NINGUNO -storetype PKCS11 -storepass TOKEN-PIN -providerClass sun.security.pkcs11.SunPKCS11 -providerArg eToken.cfg
  4. Compruebe la salida de su keytool comando para una línea que comienza con Alias name:. Si su token contiene varios certificados, verifique las fechas de validez y el emisor en la salida con su certificado. Tenga en cuenta que los certificados de firma de código EV emitidos en YubiKey de SSL.com deben tener un alias de Certificate for PIV Authentication.
    Nombre de alias: Certificado para autenticación PIV Tipo de entrada: PrivateKeyEntry Longitud de la cadena del certificado: 1 Certificado [1]: Propietario: OID.1.3.6.1.4.1.311.60.2.1.3 = US, OID.1.3.6.1.4.1.311.60.2.1.2 .2.5.4.15 = Nevada, OID.20081614243 = Organización privada, CN = SSL Corp, SERIALNUMBER = NV2, O = SSL Corp, L = Houston, ST = TX, C = US Emisor: CN = SSL.com Intermedio de firma de código EV CA RSA R7299, O = SSL Corp, L = Houston, ST = Texas, C = EE. UU. Número de serie: 93f57a3bac6570c781580f63172e17 Válido desde: viernes 12 de abril 46:04:2020 EDT 17 hasta: sábado 12 de abril 46:04:2021 EDT XNUMX
  5. Utilice un comando como el siguiente para firmar y marcar el tiempo en un archivo:
    • jsign comando instalado en todo el sistema:
      jsign --keystore eToken.cfg --alias "Certificado para autenticación PIV" --storetype PKCS11 --storepass TOKEN-PIN --tsaurl http://ts.ssl.com --tsmode RFC3161 ARCHIVO PARA FIRMAR
    • Con Jsigner .jar archivo:
      java -jar jsign-3.1.jar --keystore eToken.cfg --alias "Certificado de autenticación PIV" --storetype PKCS11 --storepass TOKEN-PIN --tsaurl http://ts.ssl.com --tsmode RFC3161 ARCHIVO -PARA FIRMAR
  6. Si su comando es exitoso, debería ver un resultado como el siguiente:
    Agregar la firma Authenticode a example.exe

Verificar firma digital

  1. Puede verificar que su firma digital sea válida al ver los detalles de la firma en Windows.
    La firma digital está bien
  2. También puedes usar SignTool en Windows para verificar la firma digital.
    signtool.exe verifique / pa 'C: \ Users \ Aaron Russell \ Desktop \ example.exe' Archivo: C: \ Users \ Aaron Russell \ Desktop \ example.exe Indice Algoritmo Marca de tiempo =========== ============================= 0 sha256 RFC3161 Verificado con éxito: C: \ Users \ Aaron Russell \ Desktop \ example.exe

Relacionado cómo Tos

Suscríbase al boletín de SSL.com

Que es SSL /TLS?

Reproduce el video

Suscríbase al boletín de SSL.com

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