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.

Signature de code Microsoft Authenticode sous Linux avec Jsign

Jsign est un outil Java open source indépendant de la plate-forme pour la signature de code Microsoft Authenticode. Jsign est facile à intégrer avec des systèmes de construction comme Maven, Gradle et Ant, ou peut être utilisé directement à partir de la ligne de commande.

Dans ce tutoriel, nous couvrirons l'utilisation Jsign à partir de la ligne de commande Linux pour Signature de code OV / IV et Signature de code EV. Étant donné que Jsign est basé sur Java, vous pouvez également l'utiliser sur les systèmes Windows et MacOS.

Installez Jsign

Tout d'abord, vous devrez télécharger et installer Jsign. le Site Web de Jsign inclut des liens vers les packages Debian et RPM pour une installation facile sur les systèmes Linux les plus courants, ainsi qu'un .jar fichier.

Signature de code OV / IV

Pour la signature de code OV / IV standard, vous pouvez utiliser un certificat stocké dans un keystore Java ou un fichier PKCS # 12 (PFX). SSL.com livre certificats de signature de code au format PKCS # 12, nous allons donc l'utiliser pour notre exemple. Dans tous les exemples de code ci-dessous, remplacez les valeurs affichées en MAJUSCULES par vos valeurs réelles.

  1. Tout d'abord, utilisez le keytool commande pour obtenir le alias valeur à utiliser lors de la signature:
    keytool -list -v -keystore PKCS12-FILE.p12 -storetype PKCS12 -storepass PKCS12-PASSWORD
  2. Vérifiez la sortie de votre keytool commande pour une ligne commençant par Alias name:.
    Type de fichier de clés: PKCS12 Fournisseur de fichier de clés: SUN Votre fichier de clés contient 1 entrée Nom d'alias: 1 Date de création: 18 janvier 2021 Type d'entrée: PrivateKeyEntry Longueur de la chaîne de certificat: 4 ...

    Dans l'exemple ci-dessus, Alias name is 1.

  3. Utilisez une commande comme celle-ci pour signer et horodater un fichier:
    • jsign commande installée à l'échelle du système:
      jsign --keystore KEYSTORE.p12 --alias ALIAS-NAME --storetype PKCS12 --storepass PKCS12-PASSWORD --tsaurl http://ts.ssl.com --tsmode RFC3161 FILE-TO-SIGN
    • Avec Jsigner .jar fichier:
      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- SIGNE
  4. Si votre commande réussit, vous devriez voir une sortie comme celle-ci:
    Ajout de la signature Authenticode à example.exe

Signature du code EV

Vous pouvez également utiliser Jsign avec un certificat de signature de code EV. L'exemple ici utilise un SSL.com Certificat de signature de code EV installé sur un token YubiKey FIPS.

  1. Tout d'abord, assurez-vous que OpenSC est installé sur votre système afin qu'il puisse communiquer avec votre token via l'API PKCS # 11. Sur les distributions basées sur Debian comme Ubuntu, vous pouvez installer OpenSC avec apt:
    sudo apt installer opensc
  2. Ensuite, créez un fichier de configuration. Le nom du fichier est arbitraire, mais pour les exemples de commandes ci-dessous, nous utiliserons eToken.cfg. Notez que le chemin vers opensc-pkcs11.so peut varier dans votre installation OpenSC, donc vérifiez avant de créer le fichier de configuration.
    name = OpenSC-PKCS11 description = SunPKCS11 via la bibliothèque OpenSC = /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so slotListIndex = 0
  3. Utilisez l'option keytool commande pour obtenir le alias valeur à utiliser lors de la signature:
    keytool -list -v -keystore AUCUN -storetype PKCS11 -storepass TOKEN-PIN -providerClass sun.security.pkcs11.SunPKCS11 -providerArg eToken.cfg
  4. Vérifiez la sortie de votre keytool commande pour une ligne commençant par Alias name:. Si votre jeton contient plusieurs certificats, vérifiez les dates de validité et l'émetteur dans la sortie par rapport à votre certificat. Notez que les certificats de signature de code EV émis sur YubiKey à partir de SSL.com doivent avoir un nom d'alias de Certificate for PIV Authentication.
    Nom d'alias: Certificat pour l'authentification PIV Type d'entrée: PrivateKeyEntry Longueur de chaîne de certificat: 1 Certificat [1]: Propriétaire: 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 = Organisation privée, CN = SSL Corp, SERIALNUMBER = NV2, O = SSL Corp, L = Houston, ST = TX, C = US Issuer: CN = SSL.com EV Code Signing Intermediate CA RSA R7299, O = SSL Corp, L = Houston, ST = Texas, C = US Numéro de série: 93f57a3bac6570c781580f63172e17 Valable du: ven 12 avril 46:04:2020 HAE 17 jusqu'au: sam 12 avril 46:04:2021 HAE XNUMX
  5. Utilisez une commande comme celle-ci pour signer et horodater un fichier:
    • jsign commande installée à l'échelle du système:
      jsign --keystore eToken.cfg --alias «Certificat d'authentification PIV» --storetype PKCS11 --storepass TOKEN-PIN --tsaurl http://ts.ssl.com --tsmode RFC3161 FILE-TO-SIGN
    • Avec Jsigner .jar fichier:
      java -jar jsign-3.1.jar --keystore eToken.cfg --alias "Certificat pour l'authentification PIV" --storetype PKCS11 --storepass TOKEN-PIN --tsaurl http://ts.ssl.com --tsmode RFC3161 FILE -SIGNER
  6. Si votre commande réussit, vous devriez voir une sortie comme celle-ci:
    Ajout de la signature Authenticode à example.exe

Vérifier la signature numérique

  1. Vous pouvez vérifier que votre signature numérique est valide en affichant les détails de la signature dans Windows.
    La signature numérique est correcte
  2. Vous pouvez également utiliser Outil de signature dans Windows pour vérifier la signature numérique.
    signtool.exe verify / pa 'C: \ Users \ Aaron Russell \ Desktop \ example.exe' Fichier: C: \ Users \ Aaron Russell \ Desktop \ example.exe Horodatage de l'algorithme d'indexation =========== ============================= 0 sha256 RFC3161 Vérification réussie: C: \ Users \ Aaron Russell \ Desktop \ example.exe

Comment Tos

Abonnez-vous à la newsletter SSL.com

Qu'est-ce que SSL /TLS?

Regardez la video

Abonnez-vous à la newsletter de SSL.com

Ne manquez pas les nouveaux articles et mises à jour de SSL.com