SUPPORT

Un problème de certificat ? Besoin d'être dépanné rapidement ? Nos ingénieurs répondent à vos questions.

0 897 690 444 Service 0,80 €/min +prix appel
Menu
picture of tbs certificates
picture of tbs certificates
Les produits
Notre gamme
Partenaires
Support
Numéro vert
Focus


Signer avec signtool (fichier .pfx ou fichiers .pvk et .spc)

Pour signer un composant Microsoft .CAB .EXE .DLL, utilisez la méthode ci-dessous.

Conversion de pvk/spc en PKCS#12 (.pfx)

Si vous disposez de fichiers pvk et spc, commencez par les convertir au format PFX (a l'aide la commande pvk2pfx.exe, disponible dans le SDK de Windows) comme ceci :
pvk2pfx -pvk votrefichier.pvk -pi monmotdepasse -spc votrefichier.spc -pfx votrefichier.pfx -f

Generation d'un certificat .pfx (PKCS#12)

Vous avez utilisé Keybot pour générer la clé privée et le CSR

Rendez-vous sur la page statut de votre certificat et cliquez sur le bouton "Générer PFX/PEM". Dans la nouvelle fenêtre renseignez votre clé privée ainsi que le mot de passe choisit lors de la commande. Choisissez également un mot de passe pour protéger le fichier PFX et cliquez sur "Confirmer". Vous trouverez plus d'informations sur ce lien : Génération de votre certificat développeur avec Keybot

Vous avez utilisé la méthode manuelle pour générer le CSR

Vous pouvez utiliser OpenSSL pour générer un fichier .pfx. Pour cela, depuis la page statut de votre certificat, cliquez sur "Voir le certificat". Dans la nouvelle fenêtre, cliquez sur "Voir le certificat au format P7B" et cliquez ensuite sur le lien de téléchargement proposé.

Une fois votre clé privée et le fichier P7B en votre possession, vous allez pouvoir générer un fichier PFX à l'aide d'OpenSSL. Si vous avez une distribution Linux à disposition, OpenSSL est la plupart du temps déja installé. Si vous êtes sur une plateforme Windows, vous pouvez installer OpenSSL à l'aide de cette page : Installer OpenSSL sur un poste Windows

Enfin pour générer vitre fichier pfx, aidez-vous de notre documentation : Générer un fichier PFX avec OpenSSL

Signature avec signtool

Ensuite signez avec signtool et votre fichier .pfx:

C:\Program Files\Microsoft Platform SDK\Bin> signtool.exe sign /f votrefichier.pfx /p lemotdepasse /v /tr http://timestamp.digicert.com?alg=sha256 /td SHA256 /fd SHA256 "FICHIER_A_SIGNER" 
sign est l'instruction de signature. Les arguments /f et /p permettent respectivement de préciser le fichier pfx et son mot de passe.

L'argument /v permet d'activer la sortie verbeuse.

L'argument /fd permet de choisir l'algorithme de signature. Le défaut étant SHA1.

/as permet d'ajouter une signature en la sélectionnant comme principale.

Les arguments /tr et /td sont respectivement dédiées au serveur d'horodatage suivant la RFC 3161 et l'algorithme de hashage utilisé par ce dernier. Le serveur fourni dans cet exemple est le serveur d'horodatage de DigiCert.

Pour les certificats Globalsign, vous pouvez utiliser le serveur suivant : http://timestamp.globalsign.com/?signature=sha2 .

Cas d'usage : utilisation avec Visual Studio

Sur Microsoft Windows si vous utilisez l'outil de développement Visual Studio, vous pouvez utiliser la ligne de commande suivante dans l'événement Post-Build de votre projet :

C:\Program Files (x86)\Microsoft SDKs\Windows\<version sdk>\Bin\signtool.exe" sign /f votrefichier.pfx /p motdepasse  /v /tr http://timestamp.digicert.com?alg=sha256 /td SHA256 /fd SHA256  "$(TargetDir)$(TargetFileName)"

Vérifier une signature

Pour vérifier une signature:

C:\Program Files\Microsoft Platform SDK\Bin> signtool.exe verify /v /a c:\signfiles\le_fichier_a_signer

Signtool en mode assistant

Vous pouvez également utiliser signtool avec l'assistant (uniquement avec signtool v6.0 ou moins). Pour se faire lancez le avec :
C:\Program Files\Microsoft Platform SDK\Bin> signtool signwizard
Voir la doc officielle de Microsoft

Double signature d'exécutable

Il vous est possible de signer votre exécutable en SHA1 et SHA2 afin de garantir la plus grande compatibilité de votre signature. Attention, cela fonctionne uniquement pour les exécutables (.exe) et non pour les installeurs .msi. Exécutez les deux commandes suivantes :

signtool sign /t http://timestamp.digicert.com?alg=sha1 /f "c:\chemin\vers\votre\fichier.pfx" /p lemotdepasse "c:\CHEMIN_VERS_VOTRE_EXECUTABLE.exe"


signtool sign /tr http://timestamp.digicert.com?alg=sha256 /td sha256 /fd sha256 /f "c:\chemin\vers\votre\fichier.pfx" /p lemotdepasse "c:\CHEMIN_VERS_VOTRE_EXECUTABLE.exe"
La première commande sert à signer le fichier en SHA1, la seconde en SHA2. La signature SHA2 est définie comme prioritaire. Le serveur de timestamp fourni pour la signature SHA1 est au format Microsoft. L'exemple est encore une fois pour les certificats DigiCert.

Pour les produits Globalsign vous pouvez utiliser les serveurs suivants :
Format Microsoft : http://timestamp.globalsign.com/scripts/timstamp.dll
Format RFC 3161 : http://timestamp.globalsign.com/?signature=sha2

Importer un PVK et SPC dans le système Windows

  • Documentation Microsoft pour convertir un PVK et SPC (windows XP) en un PFX et l'importer dans le magasin des certificats du votre système windows Installing SPC Information in the Personal Certificate Store
     Pvk2Pfx -pvk mypvkfile.pvk -pi mypvkpassword -spc myspcfile.spc -pfx mypfxfile.pfx -po 
  • Importer le fichier PFX dans votre système windows.

Documentation Externe