|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre régulier
![]() |
Bonjour,
Je voudrais récupérer le certificat contenu dans ma requête HTTPS., et je ne sais pas si cela est possible ... Il existe bien le Request.GetFieldByName('xxxx'), mais je pense qu'il s'agit uniquement de l'équivalent ASP de la ServerVariable collection, alors quela, c'est la clientcertificate collection. Voici à tout hasard un script ASP qui permet de récupérer les bonnes infos : Code :
__________________
Renaud W2003 / XP /VISTA SQL SERVER / ORACLE ADO |
||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() |
le sujet du certificat est récupérable par la server Variable CERT_SUBJECT
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iissdk/html/21b3be8f-d4ed-4059-8e21-6cba2c253006.asp donc tu peux utiliser le XMLRequest.GetServerVariable('CERT_SUBJECT'); au passage si ce champ est renseigné, le framework rempli automatiquement le XMLC_UserName avec cette valeur. (cf XMLApp.pas)
__________________
RDM Tout Est Relatif Rubrique XMLRAD: http://xmlrad.developpez.com FAQ XMLRAD: http://xmlrad.developpez.com/faq/ |
|
|
00
|
|
|
#3 |
|
Membre régulier
![]() |
Bien essayé, mais CERT_SUBJECT contient (comme son nom l'indique) le sujet du certificat, c'est à dire uniquement une partie du dit certificat.
De plus, IIS le 'retravaille'.
__________________
Renaud W2003 / XP /VISTA SQL SERVER / ORACLE ADO |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() |
je vois pas comment le récupérer a part en tapant dans la metabase de IIS
on peut pas l'avoir par ServerVariable
__________________
RDM Tout Est Relatif Rubrique XMLRAD: http://xmlrad.developpez.com FAQ XMLRAD: http://xmlrad.developpez.com/faq/ |
|
|
00
|
|
|
#5 |
|
Membre régulier
![]() |
Merci quand même.
__________________
Renaud W2003 / XP /VISTA SQL SERVER / ORACLE ADO |
|
|
00
|
|
|
#6 |
|
Membre régulier
![]() |
J'insiste un peu
peux-tu m'aiguiller pour 'taper' dans la metabase IIS ??? J'ai cherché pendant quelques jours comment obtenir ce maudit certificat, mais je ne trouve rien ...
__________________
Renaud W2003 / XP /VISTA SQL SERVER / ORACLE ADO |
|
|
00
|
|
|
#7 |
|
Membre Expert
![]() |
pour IIS5, il faut utiliser ADSI
et l'objet IIsCertMapper.GetMapping http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iissdk/html/efaabe6f-2ee6-4dc9-b365-5145825a9412.asp j'ai pas testé, c'est juste en faisant des recherches que je suis tombé dessus. avec Windows 2003 la metabase est XML... donc plus simple
__________________
RDM Tout Est Relatif Rubrique XMLRAD: http://xmlrad.developpez.com FAQ XMLRAD: http://xmlrad.developpez.com/faq/ |
|
|
00
|
|
|
#8 |
|
Membre régulier
![]() |
Merci. Je regarde...
__________________
Renaud W2003 / XP /VISTA SQL SERVER / ORACLE ADO |
|
|
00
|
|
|
#9 |
|
Membre régulier
![]() |
Allez, j'insiste encore une dernière fois...
Je n'aboutis à rien avec ADSI.... Même mes recherches Google sur le clientcertificate et Delphi, VB, ... ne donnent rien. A croire que seul le monde ASP (ou .NET) se soucie du certificat ... car n'importe qui est capable de renseigner des valeurs de contexte, par contre n'importe qui n'est pas capable d'envoyer dans la requête un certificat complet (champs + clé) Bref, ce qui me gène le plus (et donc ce que j'aimerais me faire expliquer afin de l'expliquer à mon client) c'est que, à priori, la requête HTTP reçue par le serveur contient bien le Certificat, alors pourquoi ne puis-je pas y accéder ??? IIS ne me la transmet pas car je suis une DLL ISAPI ??? L'objet TISAPIRequest est-il un 'sous'produit de l'objet Request d'ASP ??? Merci de vos explications, et après, j'arrête de vous embêter. PROMIS !!
__________________
Renaud W2003 / XP /VISTA SQL SERVER / ORACLE ADO |
|
|
00
|
|
|
#10 | |
|
Membre Expert
![]() |
désolé, j'ai regardé au mauvais endroit.
en fait pour récupérer le client certificate il faut utiliser la fonction ServerSupportFunction qui se trouve dans la structure ECB avec HSE_REQ_GET_CERT_INFO_EX http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iissdk/html/ae9afc42-e43e-4391-93c9-ac181faaa0b6.asp on a une structure CERT_CONTEXT_EX qui va être rempli et qui est décrite ici: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iissdk/html/e99c43fd-75d7-4b15-ac50-7345521aeb7b.asp elle-même contient la structure CERT_CONTEXT décrite ici: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/seccrypto/security/cert_context.asp et dans cette struture on a: Citation:
j'envoie la demande à l'équipe R&D.
__________________
RDM Tout Est Relatif Rubrique XMLRAD: http://xmlrad.developpez.com FAQ XMLRAD: http://xmlrad.developpez.com/faq/ |
|
|
|
00
|
|
|
#11 |
|
Membre régulier
![]() |
Ce qui veut donc dire que pour l'instant (donc avant éventuelle intégration par Delos), il est compliqué/impossible d'accéder à ces valeurs ???
J'essaie depuis ce week end, mais sans résultat. Le niveau le + interessant me semble être au moment de la création du XMLRequest dans XMLAPP.pas car on a encore l'objet TWebRequest. Mais bon, c'est de la bidouille (qui d'ailleurs ne fonctionne pas).
__________________
Renaud W2003 / XP /VISTA SQL SERVER / ORACLE ADO |
|
|
00
|
|
|
#12 |
|
Membre Expert
![]() |
c'est exact c'est à partir de TWebRequest que l'on a accès a ECB.
mais il faut transtyper le TWebRequest en TISAPIRequest pour cela. ce qui le rend spécifique a ISAPI. Comme XMLRequest repose sur le webbroker de Delphi qui n'a pas été pensé pour pouvoir accéder a ca, ca rend les choses effectivement très compliquées, même pour l'intégration par l'équipe R&D. J'ai entendu parlé du fait qu'ils allaient peut être faire sauter le webbroker pour faire une abstraction des request à leur sauce avec plsud esouplesse et surtout d'efficacité. mais pour l'instant ca n'a l'air que d'être des projets...
__________________
RDM Tout Est Relatif Rubrique XMLRAD: http://xmlrad.developpez.com FAQ XMLRAD: http://xmlrad.developpez.com/faq/ |
|
|
00
|
|
|
#13 |
|
Membre régulier
![]() |
Tant pis pour moi (et surtout mon client .... en espérant qu'il accepte ça ...)
Merci de ton aide.
__________________
Renaud W2003 / XP /VISTA SQL SERVER / ORACLE ADO |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com