SSL Gateway-old - Accès aux WebService de Prestashop en HTTPS via C#
... / Accès aux WebService de P...
BMPCreated with Sketch.BMPZIPCreated with Sketch.ZIPXLSCreated with Sketch.XLSTXTCreated with Sketch.TXTPPTCreated with Sketch.PPTPNGCreated with Sketch.PNGPDFCreated with Sketch.PDFJPGCreated with Sketch.JPGGIFCreated with Sketch.GIFDOCCreated with Sketch.DOC Error Created with Sketch.
Frage

Accès aux WebService de Prestashop en HTTPS via C#

Von
TomT
Erstellungsdatum 2018-06-02 09:12:33 (edited on 2024-09-04 11:32:08) in SSL Gateway-old

Bonjour,

J'utilise une application développée en C# pour accéder aux données de Prestashop depuis plusieurs années.
Par exemple, pour aller rechercher les données relatives à une commande, ceci fonctionne très bien:

HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create("http://monsite.fr/api/orders&filter[id]=2468");
webRequest.Credentials = new NetworkCredential("ma clé générée sur PS", "");
webRequest.Method = "GET";
webRequest.ContentType = "application/x-www-form-urlencoded;charset=utf-8";
webRequest.Timeout = 100000;
webRequest.ReadWriteTimeout = 100000;
webRequest.ContinueTimeout = 100000;

webResponse = (HttpWebResponse)webRequest.GetResponse();
HttpStatusCode webStatusCode = (HttpStatusCode)webResponse.StatusCode;

if (webStatusCode.Equals(HttpStatusCode.OK))
{
XmlDocument XDoc = new XmlDocument();
XDoc.Load(XmlReader.Create(webResponse.GetResponseStream()));

Result = GetOrderFull(XDoc);
}

webResponse.Close();
webResponse.Dispose();
webResponse = null;

Après avoir installé un certificat sur mon site, pour le passer en HTTPS, je reçois une erreur "La demande a été abandonnée : Impossible de créer un canal sécurisé SSL/TLS.".

Après avoir fouillé quelque peu divers forums, j'ai ajouté les lignes suivantes,

ServicePointManager.Expect100Continue = true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(AcceptAllCertifications);
webRequest.ProtocolVersion = HttpVersion.Version10;
...
public static bool AcceptAllCertifications(object sender, System.Security.Cryptography.X509Certificates.X509Certificate certification, System.Security.Cryptography.X509Certificates.X509Chain chain, System.Net.Security.SslPolicyErrors sslPolicyErrors)
{
return true;
}

mais je n'arrive plus à accéder à mon Prestashop via le web service.
Pouvez-vous m'assister ?

Avec mes remerciements,
Message = "La demande a été abandonnée : Impossible de créer un canal sécurisé SSL/TLS."


5 Antworten ( Latest reply on 2018-06-02 09:49:22 Von
janus57
)

Bonjour,

perso dans votre code je vois ça : ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;

Alors je sais pas ce que cela veux dire en C#, mais si c'est pour faire une connexion en SSL v3 vous pouvez oublié, ce protocole est désactivé normalement.
Il faudrait que votre application utilise TLS 1.2 pour être sûr e fonctionner correctement en HTTPS.

Cordialement, janus57


ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;


peut être qu'en testant avec ceci, ça marchera
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12

Comme Janus, je pense que vous demandez du SSL3 qui est vulnérable depuis la faille Poodle et qui est désactivé...

Quel est le contenu du .ovhconfig présent à la racine de l'hébergement?

d'accord, donc ça va de ce côté là.

Bonjour,

à priori ce genre de problème est déjà répertorié chez PrestaShop ==> http://forge.prestashop.com/browse/PSCFV-7266

Cordialement, janus57

Antworten sind derzeit für diese Frage deaktiviert.