La Billetterie

Un peu de tout saupoudré délicatement

Affichage des articles publiés par jmdesp

Au départ on se base sur cet article :
http://www.g-loaded.eu/2007/08/10/ssl-enabled-name-based-apache-virtual-hosts-with-mod_gnutls/

il oublie d’indiquer que gnutls-utils est aussi nécessaire :
yum gnutls-utils

le make bloque au moment de générer le rsa :
/usr/bin/certtool --generate-privkey --bits 1024 --outfile rsafile
il semble que cela vienne d’un manque d’entropie, on peut interompre le make, faire ceci :
cd data ; openssl genrsa 512 > rsafile ; cd -
et le reprendre

Par ailleurs la méthode d’éditer directement /etc/httpd/conf/httpd.conf (enfin c’est ce que je crois comprendre) ne prend pas en compte que /etc/httpd/conf.d/ssl.conf est aussi chargé et va entrer en conflit.
Il vaut mieux plutôt donc modifier /etc/httpd/conf.d/ssl.conf

Quelques valeurs de config utiles ici:
http://trac.gnutls.org/cgi-bin/trac.cgi/wiki/BenchmarkingModGnuTLS

GnuTLSEnable on
GnuTLSCertificateFile /etc/apache2/ssl/apache.pem
GnuTLSKeyFile /etc/apache2/ssl/apache.pem
GnuTLSClientCAFile /etc/apache2/ssl/apache.pem
GnuTLSDHFile /etc/apache2/ssl/dh.pem
GnuTLSPriorities NONE:+VERS-TLS1.0:+3DES-CBC:+RSA:+SHA1:+COMP-NULL
GnuTLSClientVerify request
# request
# The client certificate will be requested, but not required. The Certificate will be validated if sent.
# The output of the validation status will be stored in the SSL_CLIENT_VERIFY environment variable
# and can be "SUCCESS", "FAILED" or "NONE".
GnuTLSExportCertificates on

mod_gnutls peut aussi se servir de memcached :
GnuTLSCache memcache "127.0.0.1 server2.example.com server3.example.com"

sudo yum install memcached pour l’installer.
http://www.danga.com/memcached/:
./memcached -d -m 2048 -l 10.0.0.40 -p 11211
# This starts memcached up as a daemon, using 2GB of memory, and listening on IP 10.0.0.40, port 11211

Ensuite on va lancer httpd directement pour voir les erreurs sans devoir fouiller pour dénicher où elles ont pu être logguées :
/usr/sbin/httpd -k start

La liste des options reconnues est courte par rapport à
http://www.outoforder.cc/projects/apache/mod_gnutls/docs/
GnuTLSPriorities n’est pas connu pour préciser comment indiquer les algo autorisé, etc. !
En fait, c’est simple, c’est parceque c’est basé sur la version 0.2 de mod_gnutls qui est très ancienne et à laquelle il manque plein d’options.

Il vaut mieux se baser sur un mod_gnutls plus récent :
Stable: wget http://www.outoforder.cc/downloads/mod_gnutls/mod_gnutls-0.4.3.tar.bz2
ou
Dev: http://www.outoforder.cc/downloads/mod_gnutls/mod_gnutls-0.5.1.tar.bz2
on adaptera les commandes pour les rendre indépendantes de la version (et on a plus de problème avec certtool ??):
cp src/.libs/libmod_gnutls.so /usr/lib/httpd/modules/mod_gnutls.so
cp data/{dh,rsa}file /etc/httpd/conf/

Seulement, seulement, l’un comme l’autre ont besoin de gnutls 2.2.1 et Fedora 7 a seulement le 1.6.3 par défaut 🙁

Fedora 8 n’est pas mieux, et même devel s’arrête à gnutls 2.0 … Il ne reste qu’à installer gnutls 2.2 en développement.
Mais impossible de retirer le package gnutls, puisque Fedora liste 200 autres packages qui en dépendent 🙁
La solution : Installer gnutls dans un répertoire séparé (/usr/local), et le compiler en statique pour que les programmes lié avec ne commencent pas à référencer la version /usr par erreur.
./configure --prefix=/usr/local --disable-shared ; make
sur libtasn1-1.3 et gnutls-2.2.2 devrait permettre cela en théorie.

Oublions cette histoire de compiler en statique, car à l’arrivé cela donne 🙁 :
Cannot load /etc/httpd/modules/mod_gnutls.so into server: /etc/httpd/modules/mod_gnutls.so: cannot restore segment prot after reloc: Permission denied

Pour mémoire sur la manière de compiler en statique:
Sauf que mod_gnutls-0.5.1/configure –prefix=/usr/local continue à échouer dans la vérification de « libgnutls – version >= 2.2.1 » bien qu’il aille le chercher dans /usr/local :
*** Could not run libgnutls test program, checking why..

Testons voir pour essayer de forcer le statique :
export LDFLAGS=-static
./configure –prefix=/usr/local –disable-srp –with-libgnutls-extra-prefix=/usr/local/

Ne marche toujours pas …
unset LDFLAGS

Soyons plus radical:
sudo vim « /usr/local/bin/libgnutls-extra-config »
#gnutls_libs= »-L${exec_prefix}/lib -lgnutls-extra -L${exec_prefix}/lib -lgnutls -L/usr/local/lib -ltasn1 -lgcrypt -lgpg-error  »
gnutls_libs= »${exec_prefix}/lib/libgnutls-extra.a ${exec_prefix}/lib/libgnutls.a /usr/local/lib/libtasn1.a -lgcrypt -lgpg-error -lz »
./configure –prefix=/usr/local –disable-srp
PS: less config.log nous a aidé à voir que « -lz » était du coup nécessaire

Nous essayons donc une autre méthode pour que notre librairie dynamique aille chercher ses dépendances proprement :
sudo vim "/usr/local/bin/libgnutls-extra-config"
#gnutls_libs="-L${exec_prefix}/lib -lgnutls-extra -L${exec_prefix}/lib -lgnutls -L/usr/local/lib -ltasn1 -lgcrypt -lgpg-error "
gnutls_libs="-Wl,-rpath -Wl,${exec_prefix}/lib -L${exec_prefix}/lib -lgnutls-extra -L${exec_prefix}/lib -lgnutls -L/usr/local/lib -ltasn1 -lgcrypt -lgpg-error "
./configure --prefix=/usr/local --disable-srp

PS: Pour Virtual PC et Fedora Core le fix ultime : « vesa i8042.noloop psmouse.proto=imps clock=pit vga=771 ». Ajouter le 3 à la fin pour booter en mode texte.

Bon, le fonctionnalité télésite de Free est sympa, mais le point bloquant essentiel ce sont les limitations dans le HTML.
Pour être franc, les télésites actuellement accessibles ont en commun d’être extrêmement moches.

Pourquoi ? A partir du moment où même un peu de HTML est disponible n’est-on pas capable de faire quelquechose de pas mal ?

En tout cas, les liens sur la documentations de comment marche ces pages sont utiles :
La pges principale chez Free :
Pages Free : http://adsl.free.fr/tv/telesites/
Les explications sur le HTML FreePlayer :
Tuto html 3.2 : http://wiki.freeplayer.org/index.php?title=HTML_Freebox
La spec du HTML FreePlayer :
http://www.freeplayer.org/download/documentation/html-rs/index.html

Sometimes in a java environment, you find yourself in a situation where you really don’t understand why you can’t make your bug disappear, and begin to think the class is loading from an old, stale version.
Well stop scratching your head, you can display where exactly a class is loading from !

Here is the correct way to do it :

private void displayLoadPath(Class inClass) {
String ClassAsRessourceName = inClass.getName()
.replaceAll(« \. », « / ») + « .class »;
ClassLoader xcl = inClass.getClassLoader();
java.net.URL urlJar =
xcl.getResource(
ClassAsRessourceName);
logger.debug(inClass +  » : loaded from path  » + urlJar );
}

Tested under jboss 4.2.1, call this function with myClass.class argument.

RHEL a du mal à booter avec Virtual PC, dès lors que l’accélération hardware n’est pas disponible.

Quelques trucs :
– vérifier qu’on ne boote pas en version SMP
– enlever l’option quiet du boot pour voir les messages
– ajouter soit clock=pit, soit clocksource=pit avec les version plus récentes
– le plus important : Démarrer en level 3 pour éviter le démarrage graphique qui se passe généralement mal. Ceci se fait en rajoutant le chiffre 3 à la fin de la ligne kernel.
– rhgb lance le boot graphique, le supprimer

On édite ensuite /boot/grub/menu.lst pour rendre le changement permanent quand c’est bon.

Pour info : Si la ligne initrd est présente dans les paramètres, elle configure un ramdisk qui est utilisé par le noyau le temps de booter. C’est en particulier nécessaire si le noyau a besoin de charger un module avant de pouvoir gérer le disque système (par exemple un module driver SCSI, ou un module ext3 quand on utilise un disque système ext3 mais que le support est en module dans le noyau).

Il se vend de nombreux modèles de tuner TNT, mais être limité à les utiliser exclusivement avec la suite de logiciel inclus est franchement restrictif, les éditeurs assurant plutôt le service minimum qu’autre chose.

VLC est compatible sous Linux avec tous les tuner dont le support est assuré soit par le noyau, soit par linuxtv, http://www.linuxtv.org/.

On peut aussi utiliser Totem, Kaffeine, mplayer, MythTV, xine, etc.

Sous Windows (MàJ XP SP2 à envisager), seule la version 0.9.0 est compatible, à condition que le driver soit de type DBA.
(par exemple le USB2 Dazzle PCTV Hybrid Stick (Analog+DVB-T) est compatible avec les drivers ad-hoc)
Et pour l’instant, la ligne de commande est impérative, l’interface GUI n’étant pas finalisée.
Les options en ligne de commande sont du type :
dvb-t:// :dvb-frequency=642000 :dvb-bandwidth=8 :sout=#duplicate{dst=display} :sout-display-delay=512
Fréquence en Khz, bande passante en Mhz

En pratique les clés même de marques différentes fonctionnent souvent de la même manière, avec des drivers interchangeable, ce qui permet d’utiliser un pilote récent type « Pinnacle PCTV 320e » avec une clé lambda.

Un soft tel que ProgDVB est en pratique une solution plus efficace : http://www.progdvb.com/
Ou MyTheatre (commercial)

Quelques sources d’info :
http://forum.videolan.org/viewtopic.php?f=14&t=35357
Et le forum suivant est très complet pour récupérer plein d’info sur le sujet (en particulier kmf31 y renseigne très utilement et a servi de source pour cet article) :
http://www.tvnt.net/forum/viewtopic.php?t=13998

Dans le matériel pas cher, on peut envisager le Conceptronic TNT USB 2.0 , mais ce qui m’intéresse serait plutôt un modèle qui fasse aussi capture analogique.
Les antennes livrées avec le tuner ne sont pas assez efficace, et une vrai antenne d’intérieur (type Visionic Silver 36) est indispensable pour avoir une réception correcte.

Roc est revenu sur le sujet de la gestion mémoire et indique que sous MacOSX et Linux, il est aussi possible de désaffecter la mémoire :
http://groups.google.fr/group/mozilla.dev.performance/msg/aa9ec4da0663ea7d?hl=fr
Mac: msync(MS_KILLPAGES)
Windows: VirtualAlloc(MEM_RESET)
Linux: madvise(MADV_DONTNEED) (MADV_FREE is a slightly better
semantic fit but isn’t supported yet)

Reste à savoir si en fait quand windows swap abondamment, c’est du à ce phénomène ou à une trop grande quantitée de mémoire réellement utilisée …

Applications .NET
Il est possible de développer ses propres applications sous Visual Studio .NET et de les faire tourner sous Windows Mobile 5.0 grâce au .NET Compact Framework 2.0.

MIDlets
Les MIDlets sont des applications Java pour appareils mobiles. Windows Mobile 5.0 prend en charge l’édition Java 2, J2ME. Il est donc possible de développer ses propres applications J2ME !

Page d’info dev MIDlets:
http://www-adele.imag.fr/users/Didier.Donsez/cours/tpj2me.htm

Site avec de nombreux MIDlets:
http://www.midlet.org/index2.jsp
Autre site de MIDlet et autres soft mobiles, orienté Motorola:
http://www.e398mod.com/content/category/7/14/26/

Blog dev MIDlets :
http://www.dbarnes.com/midlet/

Quelques notes suite au débat commencé sur mozilla.dev.performance :
http://groups.google.fr/group/mozilla.dev.performance/msg/972b39fc67855a78

Doc VirtualFree :
http://msdn2.microsoft.com/en-us/library/aa366892.aspx
Doc VirtualAlloc :
http://msdn2.microsoft.com/en-us/library/aa366887.aspx
On peut pour utiliser cela réécrire new/delete :
void * operator new( unsigned int cb ){ return LocalAlloc(LPTR, cb); // VirtualAlloc}
void operator delete(void *block) { LocalFree(block);}

Au fait pour un gc (il peut ainsi suivre les pages modifiées et reparcourir seulement celles-là):

MEM_WRITE_WATCH
0x200000

Causes the system to track pages that are written to in the allocated region. If you specify this value, you must also specify MEM_RESERVE.

To retrieve the addresses of the pages that have been written to since the region was allocated or the write-tracking state was reset, call the GetWriteWatch function. To reset the write-tracking state, call GetWriteWatch or ResetWriteWatch. The write-tracking feature remains enabled for the memory region until the region is freed.

Quelques projets manipule VirtualAlloc directement de cette manière :
XboxMediaCenter (XBMC) :
http://www.koders.com/cpp/fid72F86BACD333D5ECCF67204AED518CD4E2EC1EF7.aspx?s=%22MEM_RESET%22

QuakeForge :
http://www.koders.com/objectivec/fidCF668E7B1227B54D8297FAC257DA16871AE18962.aspx?s=virtualalloc
En fait, cela vient d’un répertoire rhapsody (nom de code de MacOSX) en Objective C …

PW32 the Posix-over-Win32 layer(pw32) l’utilise pour implémenter brk :
http://www.koders.com/c/fid310B897C7BB5D1AD2B552F90902DAE8C1E68EF59.aspx?s=virtualalloc

Un blog windows qui documente les détails de la gestion de mémoire virtuelle :
http://blogs.msdn.com/slavao/archive/2005/01/27/361678.aspx
Utilisé ici pour scripter un rapport d’utilisation :
http://blogs.jetbrains.com/yole/archives/000034.html

Sous Linux, faire l’équivalent avec mmap :
http://www.developpez.net/forums/showthread.php?t=305983

Lien vers le manuel d’installation :
http://www.mobiles-actus.com/telechargement/manuel/samsung-sgh-e900.pdf

Le protocole le plus courant pour booter en réseau est PXE (fait partie des spécifi PC99)

Il demande un serveur DHCP avec des extensions particulière, un serveur TFTP et un serveur PXE.

FAQ sur le sujet (et d’autres plus loin) :
http://www.kegel.com/linux/pxe.html

Knoppix serait recommandé comme distrib permettant de le faire :
http://www.knopper.net/knoppix/index-en.html
Mais la dernière version de SystemRescue est surement la meilleure solution si le but est d’abord de faire une sauvegarde de l’existant :
http://www.sysresccd.org/Index.fr.php

La nouvelle version 0.4 est sortie en Octobre 2007. Cette version apporte des fonctionnalités majeures:
* Démarrage en réseau par PXE

une FAQ :
http://dev.brantleyonline.com/wiki/index.php/General_Network_%28PXE%29_Booting
Ou ca ? : http://syslinux.zytor.com/pxe.php

La méthode pour une install Debian :
http://lea-linux.org/cached/index/Install-install-debian-reseau.html

Ya aussi les méthodes etherboot, mais ça c’est plutôt comment faire au niveau client que serveur de boot :
http://www.etherboot.org/wiki/doc
http://www.etherboot.org/wiki/removable
http://www.etherboot.org/wiki/eb_imagetypes

Outils sous windows pour se faire un serveur de boot :
howto : http://www.hanewin.net/remote-boot.htm
L’outils http://www.hanewin.de/dhcp-d.htm
En fait tftpd32 semble plus populaire (opensource), mais derrière les tuto sont très orientés boot windows :
http://utilitaires.free.fr/doc/srvpxe.pdf
http://thesystemadministrator.com/The_System_Administrator/Tips_&_Tricks/PXE,_aka_Pre-Execution_Environment_-_Part_1/

Voir aussi ces quelques indication en russe :
http://www.karatebulgaria.com/alex/archive.php/2007-02-04

En fait il y a une copie en anglais :
http://mattux.zenunix.info/mattux/docs/psg-pxehowto.html (merci Mattux pour le commentaire)
Ou bien ceci :
http://unattended.sourceforge.net/pxe-win2k.html

Et on peut aussi cibler des tutoriaux diskless linux :
http://www.naos.co.nz/papers/diskless/index.html
http://www.faqs.org/docs/Linux-HOWTO/Diskless-HOWTO.html
http://www.linuxnetmag.com/en/issue5/m5diskless1.html

http://www.framasoft.net/IMG/partitionsauvegarde.pdf

http://forum.ubuntu-fr.org/viewtopic.php?id=85695&p=1

Partimage est il « de base » dans le CD Dapper? Il n’est pas dans le Live Breezy, qui est le seul que j’ai sous la main.

Quelques tutos et astuces :
sudo aptitude install partimage

http://forum.ubuntu-fr.org/viewtopic.php?id=24835&p=2

http://doc.ubuntu-fr.org/applications/sauvegarde_d_une_partition?s=partimage

PING is a live Linux : this ISO the perfect choice to backup and restore whole partitions
http://ping.windowsdream.com/

G4U :
http://www.feyrer.de/g4u/#whatis

ou System rescue CD :
http://www.sysresccd.org/Main_Page

Sinon pour installer un linux sans utiliser de media bootable :
http://marc.herbert.free.fr/linux/win2linstall.html#grub-for-nt

Ah et puis à partir de cette page on retrouvera plein de conseils très utile pour configurer linux sur un portable et résoudre des problèmes usuels :
http://www.linux-on-laptops.com/dell.html

Pour sniffer des ports séries :
http://www.microsoft.com/technet/sysinternals/utilities/portmon.mspx

Pour sniffer des ports USB :
http://benoit.papillault.free.fr/usbsnoop

Et pour ceux qui développe pour des cartes à puce, pour sniffer les APDU :
http://www.fernandes.org/apduview/index.html

Un certain nombre de personne ont des problèmes avec les images envoyées par le service fax de Free.

Apparement il n’est pas compatible avec tousles formats d’image, ce qui peut avoir pour résultat des images envoyées en « vidéo inversée » et complètement illisible.

Les PDF qui passent le mieux sont ceux créés avec PDF Creator, cependant la solution encore meilleur est aujourd’hui d’utiliser sous windows le logiciel gratuit Free fax :
http://www.vivrelibre.net/freefax.php

Sauf que. Bien qu’ils annoncent que le produit est maintenant gratuit, en fait plusieurs fonctions importantes ne sont accessibles qu’en l’enregistrant, en particulier pour faxer directement depuis une application.

Et puis. Avec le service Free, on ne peut pas prévisualiser ce que l’on envoit, et en cas d’erreur on a aucun détail sur le type d’erreur. De fait, le service déconne parfois en n’envoyant que partiellement les fax.

Bref il vaut bien mieux n’utiliser le service fax que pour recevoir (ce qui a l’air de bien marcher) et envoyer en passant par la ligne téléphone, même le service fax de base intégré à windows XP marche bien et est bien plus pratique que le service Free.

Une liste de produits utilisables :

Process Monitor suffit-il ? :
http://www.microsoft.com/technet/sysinternals/ProcessesAndThreads/processmonitor.mspx
Non, mais resort quand même des infos assez intéressantes.

Strace NT a l’air pas mal, mais pur ligne de commande :
http://www.softpedia.com/get/Programming/Debuggers-Decompilers-Dissasemblers/StraceNT.shtml
Sauf que quelquefois il fait planter le programme, et en général je ne comprends rien à ses filtres dont le résultat semble aléatoire. Si on trace EnterCriticalSection, le résultat semble bon, c’est donc les fonctions Cert* qu’il ne sait pas gérer ?

A voir API Monitor :
http://www.apimonitor.com/

Un autre ?
http://www.rohitab.com/apimonitor/

TracePlus/win32 (il y a aussi la version ethernet, la version Web Detective, c’est peut-être bien ce produit là qui m’avait le plus convaincu) :
http://www.sstinc.com/windows.html
En fait, impossible de voir autre chose que les fonctions qu’il connait, et il manque certains domaines entiers dans la liste !!
Inutilisable pour la crypto

FlexTracer (très orienté base de données)
http://www.softpedia.com/get/Programming/Debuggers-Decompilers-Dissasemblers/FlexTracer.shtml
Effectivement ne fait que la base de registre et les IO dans les api génériques
Sauf que … Avec Dll2Sym.exe, on crée à partir de n’importe quelle DLL le fichier xml qu’il utilise pour tracer ses appels de fonctions, et on peut éditer ensuite le fichier XML pour lui indiquer où sont les paramètres dans la pile.
+ possibilité d’utiliser un javascript pour rajouter une couche plus avancée d’interprétation des paramètres
Shareware à 40$, donc prix raisonnable

Comment pourrait-on refaire cela ?
Struture IAT :
http://www.koders.com/c/fid5EFFEB29E1AB6549A22F358E40815F463F33F041.aspx?s=IMAGE_THUNK_DATA
Un programme qui inclut une partie des fonctionnalités :
http://sourceforge.net/projects/hte

Stop ! On arrête tout et on utilise WinAPIOverride32 qui est vraiment très cool, et avec source disponible en GPL.
Seul point négatif, la syntaxe pour spécifier les paramètres est plus lourde que FlexTracer, et il manque un équivalent des possibilités d’interprétation avec le javascript. + les paramètres loggués sont coupé au delà d’une certaine longeur.
Pour les paramètres coupés, la solution est de faire un BreakBeforeAndAfterCall et on les récupère facilement en entier.

Installer WinDBG sur la machine :
http://www.microsoft.com/whdc/devtools/debugging/default.mspx

Configurer la variable d’environnement au niveau du système :
_NT_SYMBOL_PATH = SRV*D:\share\symbols\microsoft*http://msdl.microsoft.com/download/symbols
D:\share\symbols\microsoft est à adapter en fonction de la config locale

Les symboles seront téléchargés à la demande.
Pour forcer le téléchargement, exécutez la commande suivante :
symchk.exe /r c:\windows\system32 /s %_NT_SYMBOL_PATH%
La commande symchk est dispo dans le répertoire d’installation de WinDBG.
C:\Program Files\Debugging Tools for Windows par défaut.

Une description assez intéressante du procédé ici :
http://www.woodmann.com/fravia/fragas1.htm

Première étape extraire les symboles de la DLL pour recréer un .def :

Le pointeur sur la description des .def dans le MSDN :
http://msdn2.microsoft.com/en-us/library/d91k01sh(VS.80).aspx

dumpbin et l’option /EXPORT sont les mots clés Microsoft, mais les outils GNU utilisent aussi dll2def, qui semble cependant ancien, sans sources et bogué. pexports (source) paraît une meilleur option, sauf que. Les cas moins simples semblent le planter, est-ce dû aux fonctions anonymes et fowardées ?

Mais qu’est-ce qu’on fait si une des fonctions est en fait « forwardée » vers une autre dll ?
Ben on se rend compte que tout va être plus facile avec cet example codeprojet :
Create your Proxy DLLs automatically

Voir dans les commentaires la syntaxe de l’Export Forwarding aussi indiquée par cet article de Inside Windows sur le format PE

A l’occasion voir cette info sur les exports des DLL :
http://blogs.msdn.com/oldnewthing/archive/2006/07/27/680250.aspx

Après chris double et ses instructions/son arbre git, voici la version mercurial

http://wiki.mozilla.org/WorkingWithMercurial

http://wiki.mozilla.org/Using_Mercurial_locally_with_CVS#Cloning_the_CVS_repository

(depuis http://blog.vlad1.com/archives/2007/07/31/150/#comment-7810 )
Ca parait plus compliqué à maîtriser.

Rappel : Envisagé ici au départ :
http://weblogs.mozillazine.org/roc/archives/2006/02/post_1.html
Avec mon commentaire qui pointait vers :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/intl/uniscrib_9t2d.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/intl/uniscrib_7yhx.asp

Mais quand on calcule les break séparément, il faut utiliser ScriptBreak :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/intl/uniscrib_1dm3.asp?frame=true
Voir aussi info ici :
http://www.microsoft.com/globaldev/getwr/steps/wrg_linebrk.mspx

Le tutorial unicode du site catch22 ne me semble pas donner beaucoup d’info sur lamanière de gérer cela.

Cela dit nos amis Thai ont bien bougé sur le sujet, leur patch sont presques préts :
Windows
https://bugzilla.mozilla.org/show_bug.cgi?id=390048
Mac
https://bugzilla.mozilla.org/show_bug.cgi?id=389520

Et ils ont stocké plein d’info sur la manière de programmer le sujet :
http://scratchpad.wikia.com/wiki/Firefox_Thai

Le grand classique est ieHTTPHeaders :
http://www.blunck.se/iehttpheaders/iehttpheaders.html
qui est le clone de l’extension Live HTTP header pour SeaMonkey/Firefox
Au passage penser un jour à jeter un coup d’oeil aux outils listé ici pour investiguer aussi sur les appels API et com.

Mais on peut aussi utiliser un proxy local, avec celui-ci Fiddler HTTP debugger qui s’enregistre automatiquement comme proxy auprès d’internet explorer quand il est lancé.

NSS 3.12 will support EV certificates :
« Libpkix provides a much more complete an modern parsing of certificates, most importantly policy parsing and handling cross certificate environments correctly. Both of these are needed for EV (the primary driver of getting libpkix in). (It also includes such things a on the fly fetching of intermediate certs. »

Roadmap :
http://wiki.mozilla.org/NSS:Roadmap#Future_Work:_NSS_3.13_and_Beyond
Preview of new version :
http://wiki.mozilla.org/NSS_Shared_DB_Samples

Les bugs au sujet de EV :
https://bugzilla.mozilla.org/show_bug.cgi?id=374336 (modif à faire dans PSM, PSM gère les liste de policy id à reconnaître par AC)
https://bugzilla.mozilla.org/show_bug.cgi?id=375666 (pas de fonction spécialisée dans NSS)

Gestion des politiques chez Microsoft :
http://technet2.microsoft.com/windowsserver/en/library/061476b3-6183-4b7a-94ac-447d720ec0411033.mspx?mfr=true

Une description des problèmes techniques de la cross-validation :
http://alwayson.goingon.com/permalink/post/7871
« Once a given client system has a specific EV SSL root installed (by way of EV Upgrader or manual installation, from the Microsoft Web site, by the user) that client will experience « green bar » behavior »

« To designate a root certificate as an EV root, Microsoft will publish associated metadata in the Microsoft Update service […]. There will be many new EV roots created by CA’s like Entrust and VeriSign and published in Microsoft Update, but you can also have an older root that gets new EV metadata associated with it. »
« they will choose the shortest path available through locally installed Roots »
« XP/Vista will not choose an EV path over a legacy path. The EV status is determined after a trust path has been chosen »
« web sites will need a cross certificate that chains up to a ‘legacy’ root, in order to support browsers such as Firefox and Opera »
« The site seal will embed a little script to check if the user is on IE 7 and then load some content from a separate SSL protected site. »
« they’ll protect that site with their EV root without a cross cert and it will trigger the appropriate download of roots and metadata. »

OK, so it goes like this.
Web servers are configured to provide to the client the following cert chain :
SSL server cert -> Cross certified EV CA cert -> Legacy root CA cert
There exist also the following chain :
SSL server cert -> Self-signed root EV CA cert

The trick for XP is to force the download of « Self-signed root EV CA cert » given that only self-signed root certificate either pre-installed or coming from the update site can have the « EV bit ».