Bonjour,

j'ai un petit soucis lors de l'utilisation de la CertEnroll.dll
J'espère que je post au bon endroit, si non, je vous présente mes excuses.

Voilà, j'ai un script en vbscript qui me permet de créer un PKCS10 (une demande de certificat).
Je dois entrer dedans un Subject, ce que je fais avec un objet DistinguishedName et c'est là que ca coince.
Mon subject représente un DN d'un LDAP (un identifiant qui est une suite de champs du style "C = 'machin'; OU='truc'; ...") mais, lors de l'encodage, il intervertit l'ordre de mon subject.
En cherchant un peu, j'ai trouvé qu'on pouvait ajouter un flag à la méthode indiquant qu'il ne fallait pas inverser l'ordre
Génial je me dis
Sauf que... Ca ne marche pas, visiblement, la valeur indiquée n'est pas reconnue.

Voici la valeur que je dois mettre:
0x20000000 et, lors de l'exécution du script, il plante. Si je commente la ligne, cela fonctionne de nouveau (c'est à dire, cela ne fait pas ce que je veux, mais bon...)

Comment puis-je "convertir" cette valeur?

Merci d'avance!

edit:

Il semblerait que cette valeur soit de l'hexadécimal en c++, à convertir par &H20000000 en vbscript. Chose que j'ai faite, mais cela ne change pas grand chose.
Voici mon code, en espérant que qqun sache m'aider, car je suis vraiment coincé...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
sDN = "C='be', O='dexia', OU='Dexia Bank Belgium', OU='Business', OU='test', CN='ftpssl'"
Const XCN_CERT_NAME_STR_REVERSE_FLAG = &H2000000
 
Dim   X500DistinguishedName
 
Set X500DistinguishedName = g_objClassFactory.CreateObject("X509Enrollment.CX500DistinguishedName")
Call X500DistinguishedName.Encode(sDN, XCN_CERT_NAME_STR_REVERSE_FLAG)
objRequest.Subject = X500DistinguishedName
Et voici l'ordre dans lequel mon subject est encodé dans la requête:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
"CN=ftpssl, OU=test, OU=Business, OU=Dexia Bank Belgium, O=dexia, C=be"
J'ai testé en modifiant l'ordre de mes champs, quel que soit l'ordre, l'ajout dans la requête se fait en remettant dans cet ordre-là. J'ai même testé en elenvant les ' et les ;, donc en faisant une seule chaine sans espace, il arrive quand même a retrouver les champs et à remettre dans le bon ordre...
Si quelqu'un sait m'aider, il est le bienvenu(e)!