3.1 Description sommaire de la section4
Inspiré de:
http://oyoy.eu/huh/firefox-extension-code-signed-with-spc-pvk/
http://developer.mozilla.org/fr/docs/Extraits_de_code:Signer_un_XPI
AVANT TOUTES CHOSES ASSURER VOUS QUE VOUS AVEZ AJOUTER LE MIME TYPE SUIVANT DANS IIS:
extension: .xpi
MIME TYPE: application/x-xpinstall
Voici par étape ce qu'il faut faire pour signer une extension .XPI pour firefox
Faite pour la toolbarCI
1- INSTALLER NSPR
Télécharger:
http://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v4.6/WINNT5.0_OPT.OBJ/nspr-4.6.zip
et mettre dans le rep:
C:\Apps
ensuite décompresser 'ICI'
cette action va créer le rep C:\Apps\nspr-4.6\ et ajouter tous les fichiers nécessaires
2- INSTALLER NSS
Télécharger:
http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_9_RTM/WINNT5.0_DBG.OBJ/nss-3.9.zip
et mettre dans le rep:
C:\Apps
ensuite décompresser 'ICI'
cette action va créer le rep C:\Apps\nss-3.9 et ajouter tous les fichiers nécessaires
3- SET DU PATH
Ensuite ajouter à la variable PATH:
C:\Apps\nss-3.9\bin\;C:\Apps\nss-3.9\lib\;C:\Apps\nspr-4.6\libDans:
Panneau de configuration->Propriétés système->Avancé->Variables d'environnement->Variables système
Si ca marche pas, faire en DOS :
set PATH=C:\Apps\nss-3.9\bin\;C:\Apps\nss-3.9\lib\;C:\Apps\nspr-4.6\lib;%PATH%
4- INSTALLER pvkimprt.exe
Le télécharger à cette adresse:
http://www.microsoft.com/downloads/details.aspx?familyid=F9992C94-B129-46BC-B240-414BDFF679A7&displaylang=en
Le fichier télécharger se nomme pvkimprt.exe mais c'est un zip
Avant de le dizipper, le renomer pvkimprt1.exe car y a dedant le fichier pvkimprt.exe
Dézipper le tous dans c:\apps\pvkimprt
Ensuite il faut exécuter pvkimprt.exe suivre les étapes et à la fin rebooter l'ordinateur
(chose bisare ici, si ont choisie de l'exporter dans le rep windows, sa demande pas de rebooter)
Ce programme à pas besoin de set path
5- CRÉER LE RÉPERTOIRE DE TRAVAIL
Créer le rep suivant:
C:\projects\ff\codesign>
2essait:
D:\Asource\carrefourinternet_dev\WEBETSQL\www.carrefourinternet.com\toolbar\thawte\bdcertificats>
6- CRÉER LA BASE DE DONNÉES DES CERTIFICATS
En DOS aller dans
C:\projects\ff\codesign>
2essait:
D:\Asource\carrefourinternet_dev\WEBETSQL\www.carrefourinternet.com\toolbar\thawte\bdcertificats>
Faire:
certutil -N -d .
NE PAS OBLIER LE .
Il faut entrer un mot de passe de 8 lettre.
Moi j'ai mis:
bnmbnm11
7- TRANSFORMER LES DEUX CLÉS THAWTE EN PKCS#12 file (.pfx)
Pour importer les clés dans l'ordi et les exporter en fichier .pfx
faire la commande suivante:
pvkimprt -import -pfx "d:\Asource\carrefourinternet_dev\WEBETSQL\www.carrefourinternet.com\toolbar\thawte\mykeys\mycert.spc" "c:/mykey.pvk"
La il faut entrer le mot de passe des clés (je pense)
Donc j'ai mis :
bnmbnm
Un wisard windows apparait
Choisir Yes, export the private key
Ensuite laisser les coches par défaut
2essait:
ATTENTION:
Si vous voulez créer un autre répertoire de signature, vous devez changer
le nom de la clé PFX et cocher 'Include all certificat in the certification path if possible'
NE LE FAITE SURTOUT PAS AVEC LE MEME NOM SINON VOUS DEVREZ RECHANGER DE REPERTOIRE
Ensuite mettre encore le mot de passe:
bnmbnm
Finalement enregistrer la clé sous le nom:
mycert.pfx (OU UN NOUVEAU NOM)
2essait:
moncertificat.pfx
dans:
C:\projects\ff\codesign>
2essait:
D:\Asource\carrefourinternet_dev\WEBETSQL\www.carrefourinternet.com\toolbar\thawte\bdcertificats>
8- IMPORTER LE FICHIER PKCS#12 mycert.pfx LA BASE DE DONNÉ DES CERTIFICATS
Aller dans ce repertoire:
C:\projects\ff\codesign>
2essait:
D:\Asource\carrefourinternet_dev\WEBETSQL\www.carrefourinternet.com\toolbar\thawte\bdcertificats>
Faire la commande suivante:
pk12util -i mycert.pfx -d .
Entrer le premier mot de passe du PFX
(Enter Password or Pin for "NSS Certificate DB":):
bnmbnm
Ensuite le deuxième mot de passe du PFX:
(Enter password for PKCS12 file:):
bnmbnm
9- VÉRIFIER QUE LE PFX C'EST BIEN MIS DANS LA BASE DE DONNÉES DES CERTIFICATS
Aller dans ce repertoire:
C:\projects\ff\codesign>
2essait:
D:\Asource\carrefourinternet_dev\WEBETSQL\www.carrefourinternet.com\toolbar\thawte\bdcertificats>
Faire la commande suivante:
certutil -L -d .
Résultat:
Thawte Code Signing CA - Thawte Consulting cc c,,c
c70a9777-cda7-41af-8786-8970f9344a3e u,u,u
2essait:
1d2cf373-017f-4582-9058-3b48d746719f u,u,u
Thawte Code Signing CA - Thawte Consulting cc c,,c
10- CRÉER LE RÉPERTOIRE DE SIGNATURE:
Faire le rep 'signed'
C:\projects\ff\codesign\signed>
2essait:
Faire le rep 'sigature'
D:\Asource\carrefourinternet_dev\WEBETSQL\www.carrefourinternet.com\toolbar\thawte\bdcertificats\signature>
11- DÉZIPPPER LE FICHIER XPI DANS LE REP DE SIGANTURE
(Si vousa avez déjà signé un xpi par cette procédure, il est important ici
de TOUT DÉTRUIRE les fichiers ancien dans le rep signature et dans le d:)
Copier le xpi dans le rep de siganture.
Le renomer en .ZIP
Le dézipper avec la structure des répertoire
Détruire le fichier .ZIP
12- SIGNER LE XPI
Aller dans le répertoire:
c:\projects\ff\codesign>
2essait:
D:\Asource\carrefourinternet_dev\WEBETSQL\www.carrefourinternet.com\toolbar\thawte\bdcertificats>
Faire la commande suivante:
signtool -d . -k c70a9777-cda7-41af-8786-8970f9344a3e -p "bnmbnm" signed/
2essait:
signtool -d . -k 1d2cf373-017f-4582-9058-3b48d746719f -p "bnmbnm11" signature/
MERDE SA SEMBLE ÊTRE LE MOT DE PASSE DE LA BASE NSS!!!!
(Noter que je viens aussi d'importer la clé dans firefox
tool option advanced encryption view certificat your certificat)
13- REPACKTER LE .XPI
Remmetre dans un .ZIP les nouveaux fichiers.
IMPORTANT LE FICHIER zigbert.rsa doit être le premier dans le zip
Il est très important de garder la structure des répertoire initial dans le ZIP
Avec winzip j'ai été obligé de mettre le rep META-INF et chrome dans le c:/ ainsi que intall.rdf
Prendre winzip pro!
SURTOUT NE PAS METTRE LE REP SIGNATURE SUR SVN sinon sa sign pas
et les autres fichiers de siganteure doivent
être en premier dans le ZIP
Renomer le fichier en .XPI
14- TESTER AVEC FIREFOX
Aller dans file - OPEN FILE
Choisir le nouveau fichier .XPI
Voila moi sa fonctionne pares plus de 40 heures de recherches intense grrr
signtool -d . -k 6bf106a0-1bd4-4944-895b-84d4d8456595 -p "bnmbnm" signed/
|