Bonjour,
Voulant utiliser le service de certificats pour inscrire une carte à puce,
je me retrouve bloqué.
Au chargement du contrôle ActiveX rien ne se passe.
Les options Internet concernant les contrôles sont OK.
Quelqu'un a t'il une idée ?
Merci d'avance.
Eric
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jean-Claude BELLAMY
Eric s'est ainsi exprimé:
Voulant utiliser le service de certificats pour inscrire une carte à puce, je me retrouve bloqué. Au chargement du contrôle ActiveX rien ne se passe. Les options Internet concernant les contrôles sont OK. Quelqu'un a t'il une idée ?
OUI!
Il y a 2 bugs dans le service de certificats, un mineur, un majeur.
1) bug du à la traduction en français des scripts .asp --------------------------------------------------- En particulier MS s'est complètement planté avec le codage des accents!
Le message abscons que tu vois (avec un caractère asiatique après l'initiale T) se trouve dans "%systemroot%system32certsrvcertsces.asp" :
NB: j'ai retouvé par contre cette constante correctement écrite dans le code de certsgcl.inc : Const L_DownloadingControl_Message="Télécharger le contrôle ActiveX..."
2) bug du à un CLSID incorrect de contrôle ActiveX dans un fichier .inc --------------------------------------------------------------------
la fenêtre popup "Télécharger .." est générée par ce code contenu dans %systemroot%system32certsrvcertsgcl.inc :
function loadXEnrollPhase2(sContinueCmd) { // continued from above // is the control loaded? if (4!=XEnroll.readyState) { // 4=READYSTATE_COMPLETE // no, show a message and wait a while ShowTransientMessage(L_DownloadingControl_Message); setTimeout("loadXEnrollPhase2(""+sContinueCmd+"")", 500);
En effectuant un debogage, j'ai vu que "XEnroll.readyState" valait toujours 0 (au lieu de 4)
J'ai ensuite exploré ma BDR, et j'ai constaté la présence de plusieurs clefs "CEnroll.CEnroll" :
HKEY_CLASSES_ROOTCEnroll.CEnroll dont la sous-clef HKEY_CLASSES_ROOTCEnroll.CEnrollCurVer pointe vers CEnroll.CEnroll.2
HKEY_CLASSES_ROOTCEnroll.CEnroll.1 avec un CLSID de {43F8F289-7A20-11D0-8F06-00C04FC295E1}
HKEY_CLASSES_ROOTCEnroll.CEnroll.2 avec un CLSID de {127698e4-e730-4e5c-a2b1-21490a70c8a1}
A partir de cet instant, j'ai supputé un pb de version!
Pour en avoir le coeur net, j'ai créé ensuite un document HTML faisant appel successivement à chacun de ces ActiveX <OBJECT ID="XEnroll" ClassID="clsid:43F8F289-7A20-11D0-8F06-00C04FC295E1"> <OBJECT ID="XEnroll" ClassID="clsid:127698e4-e730-4e5c-a2b1-21490a70c8a1"> et j'ai affiché la valeur de Xenroll.readystate
Avec le 1er : 0 Avec le 2ème : 4 !!!!
J'ai alors modifié le CLSID contenu dans certsgcl.inc, en remplaçant 43F8F289-7A20-11D0-8F06-00C04FC295E1 par 127698e4-e730-4e5c-a2b1-21490a70c8a1 (c'est à la ligne 78)
Et là, ça a enfin marché !!!!
J'ai signalé cela à Microsoft (c'était fin novembre 2002) et apparemment ils en ont tenu compte, car le fichier "certsgcl.inc" a été corrigé dans le SP4 (sous la forme de fichier compressé i386certsgcl.in_)
Donc, au choix : ---------------- - passe le SP4 sur ton serveur (ce qui mettra à jour le script) - copie le "certsgcl.inc" du SP4 : expand x:i386certsgcl.in_ %systemroot%system32certsrvcertsgcl.inc - corrige le script "certsgcl.inc" comme je l'ai indiqué
-- May the Force be with You! La Connaissance s'accroît quand on la partage ---------------------------------------------------------- Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org *
Eric <eric@nospam.net> s'est ainsi exprimé:
Voulant utiliser le service de certificats pour inscrire une carte à
puce, je me retrouve bloqué.
Au chargement du contrôle ActiveX rien ne se passe.
Les options Internet concernant les contrôles sont OK.
Quelqu'un a t'il une idée ?
OUI!
Il y a 2 bugs dans le service de certificats, un mineur, un majeur.
1) bug du à la traduction en français des scripts .asp
---------------------------------------------------
En particulier MS s'est complètement planté avec le codage des accents!
Le message abscons que tu vois (avec un caractère
asiatique après l'initiale T) se trouve dans
"%systemroot%system32certsrvcertsces.asp" :
NB: j'ai retouvé par contre cette constante correctement écrite
dans le code de certsgcl.inc :
Const L_DownloadingControl_Message="Télécharger le contrôle ActiveX..."
2) bug du à un CLSID incorrect de contrôle ActiveX dans un fichier .inc
--------------------------------------------------------------------
la fenêtre popup "Télécharger .." est générée par ce code
contenu dans %systemroot%system32certsrvcertsgcl.inc :
function loadXEnrollPhase2(sContinueCmd) {
// continued from above
// is the control loaded?
if (4!=XEnroll.readyState) { // 4=READYSTATE_COMPLETE
// no, show a message and wait a while
ShowTransientMessage(L_DownloadingControl_Message);
setTimeout("loadXEnrollPhase2(""+sContinueCmd+"")", 500);
En effectuant un debogage, j'ai vu que "XEnroll.readyState"
valait toujours 0 (au lieu de 4)
J'ai ensuite exploré ma BDR, et j'ai constaté la présence de
plusieurs clefs "CEnroll.CEnroll" :
HKEY_CLASSES_ROOTCEnroll.CEnroll
dont la sous-clef HKEY_CLASSES_ROOTCEnroll.CEnrollCurVer
pointe vers CEnroll.CEnroll.2
HKEY_CLASSES_ROOTCEnroll.CEnroll.1
avec un CLSID de {43F8F289-7A20-11D0-8F06-00C04FC295E1}
HKEY_CLASSES_ROOTCEnroll.CEnroll.2
avec un CLSID de {127698e4-e730-4e5c-a2b1-21490a70c8a1}
A partir de cet instant, j'ai supputé un pb de version!
Pour en avoir le coeur net, j'ai créé ensuite un document HTML
faisant appel successivement à chacun de ces ActiveX
<OBJECT ID="XEnroll"
ClassID="clsid:43F8F289-7A20-11D0-8F06-00C04FC295E1">
<OBJECT ID="XEnroll"
ClassID="clsid:127698e4-e730-4e5c-a2b1-21490a70c8a1">
et j'ai affiché la valeur de Xenroll.readystate
Avec le 1er : 0
Avec le 2ème : 4 !!!!
J'ai alors modifié le CLSID contenu dans certsgcl.inc, en remplaçant
43F8F289-7A20-11D0-8F06-00C04FC295E1
par
127698e4-e730-4e5c-a2b1-21490a70c8a1
(c'est à la ligne 78)
Et là, ça a enfin marché !!!!
J'ai signalé cela à Microsoft (c'était fin novembre 2002) et apparemment ils
en ont tenu compte, car le fichier "certsgcl.inc" a été corrigé dans le SP4
(sous la forme de fichier compressé i386certsgcl.in_)
Donc, au choix :
----------------
- passe le SP4 sur ton serveur (ce qui mettra à jour le script)
- copie le "certsgcl.inc" du SP4 :
expand x:i386certsgcl.in_
%systemroot%system32certsrvcertsgcl.inc
- corrige le script "certsgcl.inc" comme je l'ai indiqué
--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
Jean-Claude.Bellamy@wanadoo.fr * JC.Bellamy@free.fr
Voulant utiliser le service de certificats pour inscrire une carte à puce, je me retrouve bloqué. Au chargement du contrôle ActiveX rien ne se passe. Les options Internet concernant les contrôles sont OK. Quelqu'un a t'il une idée ?
OUI!
Il y a 2 bugs dans le service de certificats, un mineur, un majeur.
1) bug du à la traduction en français des scripts .asp --------------------------------------------------- En particulier MS s'est complètement planté avec le codage des accents!
Le message abscons que tu vois (avec un caractère asiatique après l'initiale T) se trouve dans "%systemroot%system32certsrvcertsces.asp" :
NB: j'ai retouvé par contre cette constante correctement écrite dans le code de certsgcl.inc : Const L_DownloadingControl_Message="Télécharger le contrôle ActiveX..."
2) bug du à un CLSID incorrect de contrôle ActiveX dans un fichier .inc --------------------------------------------------------------------
la fenêtre popup "Télécharger .." est générée par ce code contenu dans %systemroot%system32certsrvcertsgcl.inc :
function loadXEnrollPhase2(sContinueCmd) { // continued from above // is the control loaded? if (4!=XEnroll.readyState) { // 4=READYSTATE_COMPLETE // no, show a message and wait a while ShowTransientMessage(L_DownloadingControl_Message); setTimeout("loadXEnrollPhase2(""+sContinueCmd+"")", 500);
En effectuant un debogage, j'ai vu que "XEnroll.readyState" valait toujours 0 (au lieu de 4)
J'ai ensuite exploré ma BDR, et j'ai constaté la présence de plusieurs clefs "CEnroll.CEnroll" :
HKEY_CLASSES_ROOTCEnroll.CEnroll dont la sous-clef HKEY_CLASSES_ROOTCEnroll.CEnrollCurVer pointe vers CEnroll.CEnroll.2
HKEY_CLASSES_ROOTCEnroll.CEnroll.1 avec un CLSID de {43F8F289-7A20-11D0-8F06-00C04FC295E1}
HKEY_CLASSES_ROOTCEnroll.CEnroll.2 avec un CLSID de {127698e4-e730-4e5c-a2b1-21490a70c8a1}
A partir de cet instant, j'ai supputé un pb de version!
Pour en avoir le coeur net, j'ai créé ensuite un document HTML faisant appel successivement à chacun de ces ActiveX <OBJECT ID="XEnroll" ClassID="clsid:43F8F289-7A20-11D0-8F06-00C04FC295E1"> <OBJECT ID="XEnroll" ClassID="clsid:127698e4-e730-4e5c-a2b1-21490a70c8a1"> et j'ai affiché la valeur de Xenroll.readystate
Avec le 1er : 0 Avec le 2ème : 4 !!!!
J'ai alors modifié le CLSID contenu dans certsgcl.inc, en remplaçant 43F8F289-7A20-11D0-8F06-00C04FC295E1 par 127698e4-e730-4e5c-a2b1-21490a70c8a1 (c'est à la ligne 78)
Et là, ça a enfin marché !!!!
J'ai signalé cela à Microsoft (c'était fin novembre 2002) et apparemment ils en ont tenu compte, car le fichier "certsgcl.inc" a été corrigé dans le SP4 (sous la forme de fichier compressé i386certsgcl.in_)
Donc, au choix : ---------------- - passe le SP4 sur ton serveur (ce qui mettra à jour le script) - copie le "certsgcl.inc" du SP4 : expand x:i386certsgcl.in_ %systemroot%system32certsrvcertsgcl.inc - corrige le script "certsgcl.inc" comme je l'ai indiqué
-- May the Force be with You! La Connaissance s'accroît quand on la partage ---------------------------------------------------------- Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org *