Résoudre le problème de relation de confiance SSL/TLS dans les appels de service Web C# SOAP
Il peut être frustrant de rencontrer l'erreur « Impossible d'établir une relation de confiance pour le canal sécurisé SSL/TLS » lors de l'appel d'un service Web C#. Ce problème de confiance se produit généralement lors de l'utilisation de services Web protégés par SSL et indique un problème avec le certificat SSL du serveur.
Vérifier la configuration du serveur
Vérifiez d’abord la configuration du serveur. Assurez-vous que les conditions suivantes sont remplies :
Causes potentielles des erreurs
Si le serveur est configuré correctement, considérez les causes potentielles suivantes :
Désactiver la vérification du certificat
En tant que solution temporaire, la désactivation de la vérification du certificat peut permettre la poursuite des appels de service Web. Ceci n'est pas recommandé pour les environnements de production, mais peut être utile à des fins de test. L'extrait de code suivant fournit un moyen de désactiver la vérification du certificat :
<code class="language-csharp">// Lambda表达式,接受任何证书 System.Net.ServicePointManager.ServerCertificateValidationCallback = ((sender, certificate, chain, sslPolicyErrors) => true); // Lambda表达式,信任发送者 System.Net.ServicePointManager.ServerCertificateValidationCallback = ((sender, cert, chain, errors) => cert.Subject.Contains("YourServerName")); // 函数回调,用于验证证书 ServicePointManager.ServerCertificateValidationCallback += new RemoteCertificateValidationCallback(ValidateRemoteCertificate);</code>
Exemple de vérification de fonction :
<code class="language-csharp">private static bool ValidateRemoteCertificate(object sender, X509Certificate cert, X509Chain chain, SslPolicyErrors policyErrors) { bool result = cert.Subject.Contains("YourServerName"); return result; }</code>
Ces extraits de code permettent au service Web d'ignorer les problèmes de certificat et d'établir la connexion. Cependant, il est important d’enquêter minutieusement sur la cause première du problème de confiance et de le résoudre de manière appropriée pour garantir la fiabilité future des communications des services Web.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!