Outils pour utilisateurs

Outils du site


programmation_windows_sign

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
programmation_windows_sign [2007/06/21 10:27] – créée thierryprogrammation_windows_sign [2007/08/09 14:57] (Version actuelle) thierry
Ligne 1: Ligne 1:
 ====== Signer pour Vista ====== ====== Signer pour Vista ======
 +
 +
 ===== clef prive ===== ===== clef prive =====
 Acquerir un certificat et une clef pour signer.\\ Acquerir un certificat et une clef pour signer.\\
Ligne 7: Ligne 9:
 Recuperer aussi le certificat ''GlobalSign'' par là:\\ Recuperer aussi le certificat ''GlobalSign'' par là:\\
 http://www.microsoft.com/whdc/winlogo/drvsign/crosscert.mspx#ENG\\ http://www.microsoft.com/whdc/winlogo/drvsign/crosscert.mspx#ENG\\
 +
 +Il y a aussi des Root trucs a installer a partir d'ici:\\
 +http://www.globalsign.com/support/root-certificate/osroot.htm\\
 +(sinon, la signature se fera mais Windows dira toujours qu'il est incapable de valider la signature)
  
 A la fin, sur la machine avec laquelle on s'est inscrit, on récupère par mail un lien. En suivant le lien, on installe les clefs dans son trousseau.\\ A la fin, sur la machine avec laquelle on s'est inscrit, on récupère par mail un lien. En suivant le lien, on installe les clefs dans son trousseau.\\
Ligne 13: Ligne 19:
 On peut alors extraire les clefs pour obtenir un fichier **''.PFX''** .\\ On peut alors extraire les clefs pour obtenir un fichier **''.PFX''** .\\
 Ce fichier pourra ensuite être ingéré par Windows qui le mettra dans son trousseau. Ce fichier pourra ensuite être ingéré par Windows qui le mettra dans son trousseau.
 +
 +Pour les exemples qui vont suivre, mon **''CN''** est **''TJ-industrie''** .
  
 ===== signtool ===== ===== signtool =====
Ligne 21: Ligne 29:
 (Avec ''wget'' sous Debian, ca marche aussi) (Avec ''wget'' sous Debian, ca marche aussi)
  
-Et là, il faut mounter l'image **''.IMG''** .+Lien: http://www.microsoft.com/downloads 
 + 
 +Si on a pas les moyens d'installer ce SDK (car il faut XP et peut etre Vista à l'instant où vous me lisez)alors il faut mounter l'image **''.IMG''** . 
 + 
 + 
 + 
 +==== Sous Windows ==== 
 +Installer et utiliser **''DAEMON Tools''** ( http://www.telecharger.com ) et mounter l'image CD.\\ 
 +Extraire **''WinSDKTools-WinDSKTools-common.0.cab''** et renommer le fichier **''signtool_exe_...''** en **''signtool.exe''**. Et voilà, on est prêt a signer. 
 + 
 +==== Sous Linux ==== 
 +  # mount -r -t udf 6.0.6000.0.0.WindowsSDK_Vista_rtm.DVD.Rel.img /mnt/iso -o loop 
 +Et faire un truc similaire à ci-dessus. 
 + 
 + 
 + 
 + 
 +===== Inf2Cat ===== 
 +Telecharger là: https://winqual.microsoft.com/Help/Inf2cat_FAQ.htm 
 + 
 +Il faut installer **''winqual''** sous XP ou plus... Je l'ai fait sous Vista 64x... ca marche. 
 + 
 +===== Signer les pilotes ===== 
 +J'ai creer un **''.bat''** contenant ça: 
 +  @echo off 
 +  set TimeURL=http://timestamp.globalsign.com 
 +  set CER=..\..\MSCV\MSCV-GlobalSign.cer 
 +   
 +  SignTool sign /v /ac "%CER%" /s my /n "TJ-Industrie" /i GlobalSign /t "%TimeURL%" "pilote.sys" 
 +  SignTool sign /v /ac "%CER%" /s my /n "TJ-Industrie" /i GlobalSign /t "%TimeURL%" "pilote32.sys" 
 +  SignTool sign /v /ac "%CER%" /s my /n "TJ-Industrie" /i GlobalSign /t "%TimeURL%" "pilote64.sys" 
 +  SignTool sign /v /ac "%CER%" /s my /n "TJ-Industrie" /i GlobalSign /t "%TimeURL%" "piloteia64.sys" 
 +Donc je fais: 
 +  > signnow.bat 
 +===== Creer catalog ===== 
 +Mettre les pilotes signer dans un répertoire, avec le **''.inf''** .\\ 
 +S'assurer que le **''.inf''** contient des lignes comme cela: 
 +  CatalogFile=mon_pilote.cat 
 +  CatalogFile.ntx86=mon_pilote.cat 
 +  CatalogFile.ntamd64=mon_pilote.cat 
 +  CatalogFile.ntia64=mon_pilote.cat 
 +Et enfin lancer la commande suivante: 
 +  > inf2cat /drv:repertoire_des_pilotes /os:XP_X86,2000,Server2003_X86,Vista_X86,XP_X64,Server2003_X64,Vista_X64,Server2003_IA64 /v 
 +Ce que ca fait:  
 +  * recherche un **''.inf''** 
 +  * creer le catalog en fonction du **''.inf''** 
 +  * le catalog porte le nom donné dans le **''.inf''** 
 + 
 + 
 +===== Signer le catalog ===== 
 +J'ai un simple **''.bat''** comme cela: 
 +  @echo off 
 +  set TimeURL=http://timestamp.globalsign.com 
 +  set CER=..\..\MSCV\MSCV-GlobalSign.cer 
 +   
 +  SignTool sign /v /ac "%CER%" /s my /n "TJ-industrie" /i GlobalSign /t "%TimeURL%" "mon_pilote.cat" 
 + 
 +Et voila. 
 + 
  
  
 +===== Signer a partir de Visual Studio ====
 +Dans le "Build Event > Post Build Event" , ajouter quelques choses comme ça:
 +  <PATH>\SignTool.exe sign /v /ac "<PATH>\MSCV-GlobalSign.cer" /s my /n "TJ-industrie" \
 +  /i GlobalSign /t http://timestamp.globalsign.com $(OutDir)\$(ProjectName).exe
programmation_windows_sign.txt · Dernière modification : 2007/08/09 14:57 de thierry