begin process at 2012 02 11 18:24:28
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Réseau & Internet

 > 

Autre

 > 

[WebService] Utilisation d'un certificat dans un WebService


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[WebService] Utilisation d'un certificat dans un WebService

jeudi 12 avril 2007 à 16:13:46 | [WebService] Utilisation d'un certificat dans un WebService

Verrisan

Membre Club

Bonjour tout le monde,

je dois appeler depuis mon Service Web un autre Service Web avec un certificat. J'ai procédé comme suit:

[CODE]
...
        string certPath = @"C:\cb\certificat\Test.cer";
...

classProxy proxy = new classProxy();

.....

proxy.Url = @"https://....";
proxy.ClientCertificates.Add(X509Certificate.CreateFromCertFile(certPath));
....
prox.chercher(....);
....
[/CODE]

Lorsque je fais proxy.chercher une exception est déclanchée et le message d'erreur suivant apparaît:

[QUOTE]La connexion sous-jacente a été fermée : Impossible d'établir une relation de confiance pour le canal sécurisé SSL/TLS.
[/QUOTE]

Dans InnerException, j'ai le message suivant:
[CODE]
Le certificat distant n'est pas valide selon la procédure de validation.
[/CODE]

Est-ce quelqu'un connaît la "procédure de validiation ou sait où je peux trouver des infos à ce sujet.

Par avance, merci pour votre aide!

Cédric

jeudi 12 avril 2007 à 16:25:44 | Re : [WebService] utilisationt d'un certificat dans un WebService

zebobo5

Membre Club
Salut, essaye d'ajouter ca dans ton code et dis moi si ca marche :

ServicePointManager.ServerCertificateValidationCallback = delegate(Object obj, X509Certificate certificate, X509Chain chain, System.Net.Security.SslPolicyErrors errors)
{
    return true;
};

ServicePointManager.MaxServicePointIdleTime = 100000;



ZeBobo5
N'oubliez pas de cloturer votre post.
jeudi 12 avril 2007 à 16:26:46 | Re : [WebService] utilisationt d'un certificat dans un WebService

zebobo5

Membre Club
ou en C# 1.1 :

System.Net.ServicePointManager.CertificatePolicy = new TrustAllCertificatePolicy();
ServicePointManager.MaxServicePointIdleTime = 100000;



ZeBobo5
N'oubliez pas de cloturer votre post.
jeudi 12 avril 2007 à 22:08:33 | Re : [WebService] Utilisation d'un certificat dans un WebService

Verrisan

Membre Club
Salut,

j'ai ajouté ton code avant le déclenchement de l'exception dans le catch(...), mais rien ne se passe, c'est-à-dire que je n'ai pas d'erreur! Est-ce normal???

Merci pour ton aide

Cédric
vendredi 13 avril 2007 à 09:17:29 | Re : [WebService] Utilisation d'un certificat dans un WebService

zebobo5

Membre Club
Re,
mets le code directement dans ta classe


ZeBobo5
N'oubliez pas de cloturer votre post.
mardi 17 avril 2007 à 09:27:25 | Re : [WebService] Utilisation d'un certificat dans un WebService

Verrisan

Membre Club

Salut Zebobo5,

Comme j'utilise Visual Studio 2005, j'ai pris le code de ton premier exemple et je l'ai ajouté dans la classe comme suit:

[CODE]

public class ZPKTest : System.Web.Services.WebService
{
    public ZPKTest () {

        //Supprimez les marques de commentaire dans la ligne suivante si vous utilisez des composants conçus
        //InitializeComponent();

        ServicePointManager.ServerCertificateValidationCallback = delegate(Object obj, X509Certificate certificate, X509Chain chain, System.Net.Security.SslPolicyErrors errors)
 {
     return true;
 };

        ServicePointManager.MaxServicePointIdleTime = 100000;

    }

    [WebMethod]
    public string testCert()
    {

...
 try
 {
...
        string certPath = @"C:\cb\certificat\Test.cer";
...

 classProxy proxy = new classProxy();

.....

 proxy.Url = @"https://....";
 proxy.ClientCertificates.Add(X509Certificate.CreateFromCertFile(certPath));
....
 proxy.chercher(....);
....
 }
 catch (Exception e)
 {
....
 }

        return "OK";

    }
}
[/CODE]

En faisant, j'ai toujours l'exception qui est déclenché, dès que la méthdoe chercher est appelée (proxy.cerhcher()), mais le message est différent d'avant.

Dans e.message j'ai ceci:

La demande a échoué avec l'état HTTP 401 : Unauthorized.

Dans InnerException, je n'ai rien car = null.

Est-ce que ma façon de faire est juste! Est-ce que tu aurais une idée!

Par avance, merci beaucoup pour ton aide!

Cédric

mardi 24 avril 2007 à 10:29:04 | Re : [WebService] Utilisation d'un certificat dans un WebService

Verrisan

Membre Club

Bonjour tout le monde,

Par rapport au message précédent, j'ai ajouté l'élément NetworkCredential credentials.... comme suit:

[CODE]

public class ZPKTest : System.Web.Services.WebService
{
    public ZPKTest () {

        //Supprimez les marques de commentaire dans la ligne suivante si vous utilisez des composants conçus
        //InitializeComponent();

        ServicePointManager.ServerCertificateValidationCallback = delegate(Object obj, X509Certificate certificate, X509Chain chain, System.Net.Security.SslPolicyErrors errors)
 {
     return true;
 };

        ServicePointManager.MaxServicePointIdleTime = 100000;

    }

    [WebMethod]
    public string testCert()
    {

...
 try
 {
...
        string certPath = @"C:\cb\certificat\Test.cer";
...

 classProxy proxy = new classProxy();

.....

 proxy.Url = @"https://....";
 proxy.ClientCertificates.Add(X509Certificate.CreateFromCertFile(certPath));
....

NetworkCredential credentials = new NetworkCredential("user1", "mot de passe");
proxy.PreAuthenticate = true;
CredentialCache cache = new CredentialCache();
cache.Add(new Uri("https://..."), "Basic", credentials);
cache.Add(new Uri("https://..."), "Digest", credentials);
cache.Add(new Uri("https://..."), "kerberos", credentials);

params inf = new param(....);
prox.Credentials = cache;

result  res = proxy.chercher(param);
....
 }
 catch (Exception e)
 {
....
 }

        return "OK";

    }
}
[/CODE]

Avec ceci, je n'ai plus d'exception qui est déclenchée, mais le contenu de la variable res est null. J'ai vérifier le contenu de la variable param qui contient les différents paramètres, dans XMLSPY qui sont correcte, car ce programme permet aussi d'envoyer des requête SOAP et en l'utilisant, j'arrive avoir des réponse, mais pas depuis le Service Web.

Est-ce quelqu'un connaîtrait la raison pour laquelle cela ne fonctionne depuis mon Service Web?

Par avance, merci beaucoup pour votre aide!

Cédric



Cette discussion est classée dans : code, utilisation, proxy, webservice, certificat


Répondre à ce message

Sujets en rapport avec ce message

Pb avec mon WebService : perte de variable [ par vow ] Bonjour @ tousJe me suis mis au C# depuis peu de temps, et je crée mon premier WebService.Un client appelle ce WS.Mon problème est que j'ai l'impressi WebService avec VisualStudio et utilisation d'une librairie extèrieure [ par mitsew ] Bonjour,J'ai crée un web service qui fait appel à une librairie que j'ai crée. Cette librairie s'appelle Messages et contiends diversent classes toute SOAP : utilisation de wsld ou webmatrix ... [ par kaeser78 ] Bonjour, J'ai une question super conne .. Comment passer le firewall avec wsld.exe ou WebMatrix (webservice proxy generator) ? Ces appli n'ayant pas Service web méthode ok procédure stockée 0 :( [ par Kikuts ] Bonjour ! j'ai un service web sur une DMZ. J'arrive à le consommer avec l'application silverlight situé au même endroit (sur le même espace de la DMZ) Erreur WebService sur un hébergeur mutualisé [ par joannak20 ] Bonjour à tous, Je désire accéder à mes bases de données, hébergé sur un serveur mutualisé, à partir d'une application WinForm. Après la lecture de CLient/serveur internet [ par kertimanoff ] Bonjour, désolé si jsuis un peu noob mais je créé un nouveau sujet par rebond a celui-ci [url=http://www.csharpfr.com/forum/sujet-CLIENT-SERVEUR-SEPA Certificat x509ChainElement ChainElementStatus [ par custo76 ] Bonjour,Je souhaiterais avoir la confirmation sur le fait qu'une erreur est présente dans la collection "ChainElementStatus" dans le cas où la signatu Champs Certificat x509 [ par MatF ] Bonjour, j'aurais une petite question sur les certificats X509. J'essaye d'avoir accès à tous les champs d'un certificats x509, mais je n'arrive pas Ajout d'une branche XML a un fichier existant [ par megamario ] Bonjour à tous, Après mes problèmes avec mes collections, pour justement stocker mes données XML. je m'attaque a l'ajout de données. Il faut que : - Afficher une liste de User Control [ par Glucoz21 ] Bonjour à tous. Voila je suis sur un problème depuis 2 jours et malgré mes recherches sur internet, je ne trouve pas comment le résoudre... Je m'adre


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,468 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales