Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Membetulkan Ralat 'Tidak Dapat Mewujudkan Perhubungan Amanah untuk Saluran Selamat SSL/TLS' dalam Perkhidmatan Web SOAP?
Menyelesaikan ralat "Tidak dapat mewujudkan hubungan kepercayaan untuk saluran selamat SSL/TLS" dalam komunikasi perkhidmatan web SOAP
Jika panggilan perkhidmatan web .NET telah berfungsi dengan baik pada masa lalu, tetapi kini anda mendapat ralat "Tidak dapat mewujudkan kepercayaan untuk saluran selamat SSL/TLS", anda mesti menyiasat isu asas.
Sebab:
Ralat ini biasanya berlaku apabila terdapat percanggahan antara sijil SSL yang disediakan oleh perkhidmatan web dan tetapan amanah yang dikonfigurasikan pada komputer klien.
Penyelesaian:
Untuk menyelesaikan isu ini, anda perlu menyemak sijil SSL perkhidmatan web dan melaraskan tetapan perhubungan kepercayaan pada komputer klien. Tiga kaedah disenaraikan di bawah:
<code class="language-csharp">System.Net.ServicePointManager.ServerCertificateValidationCallback = ((sender, certificate, chain, sslPolicyErrors) => true);</code>
Coretan kod ini melumpuhkan pengesahan sijil dan mengarahkan perkhidmatan web untuk mengabaikan isu sijil, membolehkan komunikasi diteruskan. Walau bagaimanapun, kaedah ini hanya boleh digunakan untuk pelayan dalaman yang tidak boleh mendapatkan sijil.
<code class="language-csharp">System.Net.ServicePointManager.ServerCertificateValidationCallback = ((sender, cert, chain, errors) => cert.Subject.Contains("YourServerName"));</code>
Coretan kod ini mengesahkan sijil dengan membandingkan nama hos dalam sijil dengan nama hos yang dijangkakan. Jika ada perlawanan, komunikasi dibenarkan.
<code class="language-csharp">ServicePointManager.ServerCertificateValidationCallback += new RemoteCertificateValidationCallback(ValidateRemoteCertificate); private static bool ValidateRemoteCertificate(object sender, X509Certificate cert, X509Chain chain, SslPolicyErrors policyErrors) { bool result = cert.Subject.Contains("YourServerName"); return result; }</code>
Kaedah ini melibatkan penentuan fungsi panggil balik tersuai untuk mengesahkan sijil berdasarkan syarat tertentu. Dalam kes ini, kod menyemak sama ada nama hos dalam sijil sepadan dengan nilai tertentu.
Sila gantikan "YourServerName" dengan nama pelayan sebenar anda. Kaedah yang anda pilih bergantung pada situasi khusus anda dan keperluan keselamatan. Adalah sangat disyorkan untuk mengutamakan padanan nama hos atau pengesahan sijil tersuai, dan tidak disyorkan untuk mengabaikan amaran sijil melainkan anda memahami sepenuhnya risiko keselamatan.
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat 'Tidak Dapat Mewujudkan Perhubungan Amanah untuk Saluran Selamat SSL/TLS' dalam Perkhidmatan Web SOAP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!