CodeSignTool est un utilitaire de ligne de commande Java multiplateforme sécurisé et axé sur la confidentialité pour signer à distance des objets de code Microsoft Authenticode et Java avec e-signataire Certificats de signature de code EV. Les hachages des fichiers sont envoyés à SSL.com pour signer afin que le code lui-même ne soit pas envoyé. C'est idéal lorsque des fichiers sensibles doivent être signés, mais ne doivent pas être envoyés par câble pour signature. CodeSignTool est également idéal pour les processus par lots automatisés pour les signatures à haut volume ou l'intégration dans les flux de travail de pipeline CI/CD existants.
Pour connaître tous les types de fichiers que CodeSignTool est capable de signer, veuillez vous référer à cet article : Types de fichiers pris en charge par eSigner
Pour obtenir des instructions sur la façon de automatiser la signature de code EV à l'aide de signtool.exe ou certutil.exe S'il-vous-plaît évaluez ce mode d'emploi.
Si vous cherchez à utiliser esigner pour signer des documents à la place, veuillez reportez-vous à ce guide DocSignTool.
Installation de CodeSignTool
Pour installer la version actuelle de CodeSignTool, téléchargez et décompressez simplement le fichier correspondant à votre système d'exploitation:
Notez que le téléchargement de Windows inclut le runtime Java, mais la version Linux/macOS nécessite que le runtime Java soit installé sur votre ordinateur. La version Windows de la commande est un fichier batch (CodeSignTool.bat
) et la version Linux / macOS est un script shell (CodeSignTool.sh
).
Présentation de l'utilisation de CodeSignTool
Usage: CodeSignTool [-hV] [COMMAND] [PARAMETERS]
Options:
-h
,--help
: Afficher le message d'aide et quitter.-V
,--version
: Afficher les informations de version et quitter.
commandes:
get_credential_ids
: affiche la liste des identifiants d'identification eSigner associés à un utilisateur particulier.credential_info
: informations de clé et de certificat de sortie liées à un identifiant d'identification.sign
: Objet de code de signe et d'horodatage.batch_sign
: Signez et horodatez plusieurs objets de code avec un seul OTP.hash
: pré-calculer le(s) hachage(s) pour une utilisation ultérieure avecbatch_hash_sign
commander.batch_sign_hash
: hachage(s) de signe pré-calculé avechash
commander.
Paramètres:
-access_token=<TOKEN>
: OAuth jeton d'accès.-credential_id=<CREDENTIAL_ID>
: Identifiant d'identification pour la signature du certificat.-input_dir_path=<PATH>
: répertoire d'entrée pour les objets de code à signer, faire calculer les hachages ou sélectionner les fichiers non signés et les hachages correspondants pour la signature.-input_file_path=<PATH>
: Chemin de l'objet de code à signer.-otp=<OTP>
: valeur OAuth OTP de l'application d'authentification.-output_dir_path=<PATH>
: Répertoire où seront écrits les objets de code signés.-password=<PASSWORD>
: mot de passe du compte SSL.com.-program_name=<PROGRAM_NAME>
: Nom du programme (pour les installateurs MSI uniquement).-totp_secret=<TOTP_SECRET>
: OAuth Secret TOTP-username=<USERNAME>
: nom d'utilisateur du compte SSL.com-override="true"
: Écrase le fichier signé
-password="P!@^^ssword12"
).Commandes CodeSignTool
get_credential_ids
Sortir la liste des identifiants d'identification eSigner associés à un utilisateur particulier. Paramètres -username
et -password
sont obligatoires.
Usage: CodeSignTool [-hV] get_credential_ids -username=<USERNAME> -password=<PASSWORD>
Mise en situation :
CodeSignTool get_credential_ids -username=john.doe@example.com -password="P0z9@lxo41" Credential ID(s): - fe537ace-e132-52a9-c2e7-egcd2ac3f1e6
Saisie CodeSignTool get_credential_ids
sans les paramètres requis affichera les informations d'utilisation de la commande.
informations_identifiants
Sortez les informations de clé et de certificat liées à un identifiant d'identification. Paramètres -credential_id
, -username
, -password
sont obligatoires.
Usage: CodeSignTool [-hV] credential_info -credential_id=<CREDENTIAL_ID> -username=<USERNAME> -password=<PASSWORD>
Mise en situation :
CodeSignTool credential_info -credential_id=fe537ace-e132-52a9-c2e7-egcd2ac3f1e6 -username=john.doe@example.com -password="P0z9@lxo41" Informations sur le sujet du certificat EVCS : - DN du sujet : OID.1.3.6.1.4.1.311.60.2.1.3 1.3.6.1.4.1.311.60.2.1.2=États-Unis, OID.2.5.4.15=Nevada, OID.20081614243=Organisation privée, CN=SSL Corp, SERIALNUMBER=NV26, O=SSL Corp, L=Houston, ST=Texas, C=US - Expiration du certificat : Lun 21 février 21:37:2024 EST 3 - DN de l'émetteur : CN=SSL.com EV Code Signing Intermediate CA RSA RXNUMX, O=SSL Corp, L=Houston, ST=Texas , C=US
Saisie CodeSignTool credential_info
sans les paramètres requis affichera les informations d'utilisation de la commande.
scan_code
Permet l'analyse des logiciels malveillants avant la signature. Cela analyse votre fichier à la recherche d'éventuels logiciels malveillants afin d'éviter toute compromission du code. et empêche la signature du code si un logiciel malveillant est détecté.
Usage: CodeSignTool scan_code [-hV] -credential_id=<credentialId> -input_file_path=<inputFilePath> -password=<password> [-program_name=<programName>] -username=<username>
Pour des informations plus détaillées sur les avantages en matière de sécurité du service Malware Scan de SSL.com, vous pouvez visiter notre dedicated page.
signer
Objet de code de signe et d'horodatage. Paramètres -username
, -password
, -input_file_path
sont obligatoires. -credential_id
est requis uniquement pour les utilisateurs possédant plusieurs certificats de signature de code eSigner. -output_dir_path
, -program_name
, -totp_secret
sont optionnels.
Usage: CodeSignTool sign [-hV] [-credential_id=<CREDENTIAL_ID>] -username=<USERNAME> -password=<PASSWORD> -input_file_path=<PATH> [-output_dir_path=<PATH>] [-program_name=<PROGRAM_NAME>] [-totp_secret=<TOTP_SECRET>]
Paramètres facultatifs:
- If
-credential_id
est omis et l'utilisateur n'a qu'un seul certificat de signature de code eSigner, CodeSignTool le sera par défaut. Si l'utilisateur possède plusieurs certificats de signature de code, ce paramètre est obligatoire. - If
-output_dir_path
est omis, le fichier spécifié dans-input_file_path
sera écrasé par le fichier signé. CodeSignTool invitera l'utilisateur avant d'écraser le fichier. - If
-program_name
est présent lors de la signature d'un programme d'installation MSI, la valeur sera affichée dans la boîte de dialogue de confirmation en tant que nom du programme. - If
-totp_secret
est présent, CodeSignTool calculera un OTP basé sur le temps pour la signature, permettant une utilisation automatisée de l'outil. Si ce paramètre n'est pas présent, l'utilisateur sera invité à entrer manuellement OTP.
Exemples :
Entrée OTP manuelle:
CodeSignTool sign -credential_id=fe537ace-e132-52a9-c2e7-egcd2ac3f1e6 -username=john.doe@example.com -password="P0z9@lxo41" -output_dir_path=signed -input_file_path=test.exe Entrez l'OTP - Appuyez sur Entrée pour continuer : 884646 Code signé avec succès : C:\Users\John Doe\Desktop\CodeSignTool-v1.0-windows\signed\test.exe
Génération OTP automatisée:
CodeSignTool sign -credential_id=fe537ace-e132-52a9-c2e7-egcd2ac3f1e6 -username=john.doe@example.com -password="P0z9@lxo41" -totp_secret=ii5gVvZ9G+WkxB3FauAnoL/z14AXSMistcE0jZMWWNSjQDlql2kt2D6Z+l8= -output_dir_path=signed -input_file_path=test.exe Code signed successfully: C:\Users\John Doe\Desktop\CodeSignTool-v1.0-windows\signed\test.exe
Saisie CodeSignTool sign
sans les paramètres requis affichera les informations d'utilisation de la commande.
Error: invalid otp
lors de la tentative de signature d'un fichier, cela peut être dû à un ou plusieurs de ces problèmes:
- Le code QR que vous avez scanné dans votre application d'authentification ne correspond pas au nom d'utilisateur, au mot de passe et / ou à l'ID d'identification de votre commande. Cela peut arriver si:
- Vous avez plusieurs comptes configurés pour 2FA sur votre appareil et vous avez choisi le mauvais.
- Vous essayez d'utiliser vos identifiants de connexion pour un certificat partagé, mais a scanné un code QR partagé par un coéquipier à partir de son compte.
- L'OTP que vous avez entré a déjà expiré.
- Votre commande comprend un secret TOTP non valide.
signe_lot
Signez et horodatez jusqu'à 100 fichiers de code avec un seul OTP. Paramètres -username
, -password
, -input_dir_path
sont obligatoires. -credential_id
est requis uniquement pour les utilisateurs possédant plusieurs certificats de signature de code eSigner. -output_dir_path
, -program_name
, -totp_secret
sont optionnels.
Usage: CodeSignTool [-hV] batch_sign [-credential_id=<CREDENTIAL_ID>] -username=<USERNAME> -password=<PASSWORD> -input_dir_path=<PATH> [-output_dir_path=<PATH>] [-program_name=<PROGRAM_NAME>] [-totp_secret=<TOTP_SECRET>]
Si un utilisateur souhaite effectuer une signature par lots avec vérification des logiciels malveillants, chaque objet de code du lot doit d'abord être analysé avec le scan_code
commande et puis après, le batch_sign
la commande peut être exécutée.
Paramètres facultatifs:
- If
-credential_id
est omis et l'utilisateur n'a qu'un seul certificat de signature de code eSigner, CodeSignTool le sera par défaut. Si l'utilisateur possède plusieurs certificats de signature de code, ce paramètre est obligatoire. - If
-output_dir_path
est omis, les fichiers spécifiés dans-input_dir_path
seront écrasés par les fichiers signés. CodeSignTool demandera à l'utilisateur avant d'écraser le fichier. - If
-program_name
est présent lors de la signature d'un programme d'installation MSI, la valeur sera affichée dans la boîte de dialogue de confirmation en tant que nom du programme. - If
-totp_secret
est présent, CodeSignTool calculera un OTP basé sur le temps pour la signature, permettant une utilisation automatisée de l'outil. Si ce paramètre n'est pas présent, l'utilisateur sera invité à entrer manuellement OTP.
Mise en situation :
CodeSignTool batch_sign -username=john.doe@example.com -password="P0z9@lxo41" -credential_id=fe537ace-e132-52a9-c2e7-egcd2ac3f1e6 -input_dir_path=input -output_dir_path=455145put Entrez l'OTP XNUMX -XNUMX Commande de signature de lot exécutée avec succès. Répertoire de sortie des fichiers signés : sortie
Saisie CodeSignTool batch_sign
sans les paramètres requis affichera les informations d'utilisation de la commande.
hachage
Pré-calculer le(s) hachage(s) pour une utilisation ultérieure avec batch_hash_sign
commander. Paramètre -input_dir_path
est nécessaire. -program_name
est facultatif
Usage: CodeSignTool [-hV] hash -input_dir_path=<PATH> [-program_name=<PROGRAM_NAME>]
Paramètres facultatifs:
- If
-program_name
est présent lors de la signature d'un programme d'installation MSI, la valeur sera affichée dans la boîte de dialogue de confirmation en tant que nom du programme.
Mise en situation :
CodeSignTool hash -input_dir_path=input La commande de hachage a été exécutée avec succès. Fichiers de hachage créés à : input
Saisie CodeSignTool hash
sans les paramètres requis affichera les informations d'utilisation de la commande.
batch_sign_hash
Signez le(s) hachage(s) pré-calculé(s) avec hash
commander. Paramètres -access_token
, input_dir_path
, -otp
, output_dir_path
sont obligatoires. -credential_id
est requis uniquement pour les utilisateurs possédant plusieurs certificats de signature de code eSigner.
Usage: CodeSignTool [-hV] batch_sign_hash -access_token=<ACCESS_TOKEN> [-credential_id=<CREDENTIAL_ID>] -input_dir_path=<PATH> -output_dir_path=<PATH> -otp=<OTP>
Paramètres facultatifs:
- If
-credential_id
est omis et l'utilisateur n'a qu'un seul certificat de signature de code eSigner, CodeSignTool le sera par défaut. Si l'utilisateur possède plusieurs certificats de signature de code, ce paramètre est obligatoire.
Mise en situation :
CodeSignTool batch_sign_hash -access_token=eyJraWQiOiJmUE1yYUdlbXVMWGUtcG9JWUtLem1CMEYwYXlFczktUEpiN29lTWFlY2I0IiwiYWxnIjoiUlMyNTYifQ.eyJpc3MiOiJTU 0wuY29tIEF1dGhlbnRpY2F0aW9uIFNlcnZpY2UiLCJleHAiOjE2MTQ4OTcxNDIsImlhdCI6MTYxNDg5MzU0MiwianRpIjoiZmI2OTZlNDUtMTIzOS00ZGE4LW I1MmYtODNkZDE2MTY3ZTM3IiwidXNlciI6eyJ1c2VyX2lkIjoxMzIyODU4LCJ1c2VyX2VtYWlsIjoiYWFyb24uZS5ydXNzZWxsQGdtYWlsLmNvbSIsInNzbF9 hY2NvdW50X2lkIjo0NzQzMDJ9LCJjbGllbnQiOnsiaWQiOiJmUE1yYUdlbXVMWGUtcG9JWUtLem1CMEYwYXlFczktUEpiN29lTWFlY2I0In19.fCKDs1igjsI UDG2sUN_2OTb90Jw1nKNPHcD1MyEUR6sHCv_aJmcvcaFRne_eKLHzeQ9WtT5y3Fb2ppc50kMnjPG6JgX5gnFMptMn-ySsI277CtKbkSn3u-WSDSovn51jPm82 4wTeJmuXEzdv9clRjTwp6VoM9eqHCIaDAd3MP2xpMaa35cZbDaaAFKQ7jxWo9dUuTZY7DsKK0p1LloUEnmNxtNimQ3GDwkj_M600WB1zYrhDL9_3oZKaXcUx9 qzHcBCLzGgeaZ0xdpZtADxmXDUCcmkZi20yQ53bxqVL2w00sJ73efKB7JGeGWVehO-ZlGs3PUQwooox1JgEgcsA -credential_id=fe537ace-e132-52a9 -c2e7-egcd2ac3f1e6 -input_dir_path=input -output_dir_path=output -otp=142392 Batch sign hash command executed successfully. Output directory for signed files: output
Saisie CodeSignTool batch_sign_hash
sans les paramètres requis affichera les informations d'utilisation de la commande.