Page 1 sur 1

[Tuto] Signer des exécutables numériquement

Posté : jeu. 27 oct. 2011 19:25
par sylvanie
Bonjour,
suite à divers posts concernant la signature numérique des exécutables, je me lance dans ce tutoriel expliquant comment faire sans avoir à passer par une AC (Autorité de certification) payante.

Le principe est de générer sa propre AC puis générer un autre certificat qui lui aura pour but de signer les exécutables. (Ne jamais donner à un certificat d'AC un autre rôle qe de signer d'autres certificats).

L'avantage de cette méthode c'est qu'on est autonome et c'est gratuit.
L'inconvénient, comme vous n'êtes pas une AC reconnue par Microsoft il faudra installer une première fois votre certificat AC dans le magasin de certificat d'Internet Explorer (moyen de gérer tous les certificats de windows).
Une fois cette opération faite, tous les exécutable signer par un certificat issu de cette AC seront reconnu par l'OS. (utile pour les admin d'un réseau qui développe eux même leurs scripts!)

prérequis logiciel:
- signtool.exe : utilitaire de Microsoft inclus dans le SDK permettant de signer les exécutables: http://msdn.microsoft.com/en-us/windows ... 80924.aspx (prenez l'archive (image iso, pas l'installeur à 500ko sans l'installer obligatoirement, puis récupérez uniquement l'utilitaire. Attention il porte un nom bizarre contenant la sous chaine "signtool", donc faite une recherche pour le localiser puis renommez le signtool.exe). Je ne peux pas mettre l'exe en ligne à cause des droits de redistribution (même si le download est gratuit >_< ) Mon archive s’appelle GRMSDK_EN_DVD.iso
- Xca : utilitaire faisant sur surcouche graphique à Openssl permettant de générer facilement des certificats (à installer cette fois ci). (http://sourceforge.net/projects/xca/)

[Edit] : Lien de téléchargement de l'iso de Microsoft proposé par Strofe : http://www.microsoft.com/download/en/de ... en&id=8442
Celle - ci est moins lourde que celle que j'avais trouvée, mais vous devez surtout vérifier que l'exécutable extrait marche bien pour votre OS

Re: [Tuto] Signer des exécutables numériquement

Posté : jeu. 27 oct. 2011 22:13
par Strofe
Bonsoir

Merci, très intéressant... :D

Pour l'ISO

http://www.microsoft.com/download/en/de ... en&id=8442

Je vais mettre en oeuvre.

A+

Re: [Tuto] Signer des exécutables numériquement

Posté : jeu. 27 oct. 2011 22:33
par sablier94
Hello,

J'ai une petite question.
L'inconvénient, comme vous n'êtes pas une AC reconnue par Microsoft il faudra installer une première fois votre certificat AC dans le magasin de certificat d'Internet Explorer (moyen de gérer tous les certificats de windows).
Mais comment faire pour "installer une première fois votre certificat AC dans le magasin de certificat d'Internet Explorer" quand on distribue nos exécutables ? Ce n'est pas possible ?

Merci pour le tuto :D

Re: [Tuto] Signer des exécutables numériquement

Posté : ven. 28 oct. 2011 00:35
par Strofe
Bonjour

ça marche....
Certificat : AC_RJ.p12
Mot de passe : RJ
Horodateur : http://www.trustcenter.de/codesigning/timestamp
Exe à signer : ac.exe

signtool sign /f AC_RJ.p12 /p RJ /t http://www.trustcenter.de/codesigning/timestamp ac.exe

Merci c'est super.

Re: [Tuto] Signer des exécutables numériquement

Posté : ven. 28 oct. 2011 09:48
par sylvanie
Strofe a écrit : ça marche....
Merci c'est super.
Bravo ! Dans le sens où quand j'ai rédigé ce tuto je me disais qu'il y avait tant de choses à faire que personne n'irait au bout. Merci d'avoir été si courageux ! :mrgreen:

@Sablier94 : C'est possible de lancer l'installation, j'avais aidé quelqu'un sur l'ancien forum avec une histoire de pfx (un pkcs12) mais ça lance l'interface graphique puis faut bricoler à coups de controlclick (ce que je n'aime pas vraiment...). Si c'est pour automatiser sur l'installation d'un parc, pourquoi pas. Pour un particulier faut voir ...

Re: [Tuto] Signer des exécutables numériquement

Posté : lun. 31 oct. 2011 11:16
par Tlem
sylvanie a écrit :Bravo ! Dans le sens où quand j'ai rédigé ce tuto je me disais qu'il y avait tant de choses à faire que personne n'irait au bout. Merci d'avoir été si courageux ! :mrgreen:
Comme d'autres, j'ai été curieux, j'ai lu, j'ai essayé, mais j'ai trouvé la mise en pratique laborieuse et pas assez documentée. De ce fait, j'ai cherché et lu pas mal d'autres sujets, pour me donner une idée plus globale des autres méthodes. Il est vrai qu'à partir du moment ou le certificat à été généré, le reste est relativement simple à mettre en place, mais pour un novice la création du certificat et la signature d'un exécutable reste plus ou moins abstrait et assez technique.

C'est pourquoi j'ai écrit un tutoriel plus imagé et plus détaillé.
Je fait appel à des outils différents, tel que les programmes en ligne de commande proposé par Microsoft, ainsi qu'à des outils presque clé en main trouvé sur le Net.

Tout n'est sans doute pas parfait, car je n'ai aucune maitrise sur le sujet, donc il risque fort d'évoluer au cours du temps, car le but serait de le compléter et d'automatiser certaines tâches avec AutoIt. ;)

En espérant que cela aide ceux qui n'aurait pas compris le tutoriel de sylvanie. 8)

Pour accéder au tutoriel, c'est par ici
Signer un code numériquement
@sablier94
L'enregistrement d'un certificat dans Windows, est et doit resté manuel, car une fois le certificat mémorisé, chaque programme signé avec celui-ci sera reconnu comme certifié provenant de vous. A vous de donner confiance aux destinataires de vos programmes. ;)