none
403 lors de l'appel d'un webservices avec certificat RRS feed

  • Question

  • Bonjour,

     

    Je fais un appel à un WebServices, lors de cette appel je dois utiliser un certificat pour m'authentifier.

    Quand je fais le test avec IE, IE me propose de choisir un certificat dans une boite de dialogue. Je choisi le bon certificat et le serveur me retourne bien une réponse.

     

    Par contre, quand je le fais en .Net, j'ai une 403 retourné lors de la demande "req.GetResponse()".

    Voici le code que j'utilise pour faire l'appel au webservices. Dans le code vous trouvez également l'appel du certificat dans le magasin des certificats.

     

    Merci pour votre aide ou toutes pistes m'aidant à avancer.

     

    System.Net.CookieContainer cookieContainer = new System.Net.CookieContainer();

    string ServiceUrl = https://XXXXX;

    System.Net.HttpWebRequest req = System.Net.WebRequest.Create(ServiceUrl) as System.Net.HttpWebRequest;

    System.Net.HttpWebResponse resp = null;

     

    X509Store store = new X509Store(StoreName.My, StoreLocation.CurrentUser);

    store.Open(OpenFlags.ReadOnly);

    X509Certificate2Collection CertList = store.Certificates.Find(X509FindType.FindBySerialNumber, "XX", false);

    req.ClientCertificates.Add(CertList[0]);

    req.KeepAlive = true;

     

    string soapEnvelope = _generateSOAP();

     

    req.ContentType = "text/xml";

    req.Headers.Add("SOAPMethodName", "getData");

    req.ContentLength = soapEnvelope.Length;

    req.Method = "POST";

    req.Timeout = 10 * 1000;

     

    System.IO.StreamWriter streamWriter = new System.IO.StreamWriter(req.GetRequestStream());

    streamWriter.Write(soapEnvelope);

    streamWriter.Close();

    string test = string.Empty;

    try

    {

    resp = req.GetResponse() as System.Net.HttpWebResponse;

    System.IO.Stream stream = resp.GetResponseStream();

    test = stream.ToString();

    stream.Close();

    }

    catch (System.Net.WebException e)

    {

    throw e;

    }

    mardi 6 novembre 2007 11:22