Menyelesaikan masalah SOAP SSL/TLS Isu Amanah Saluran Selamat
Masalahnya:
Pengguna mungkin menghadapi ralat "Tidak dapat mewujudkan hubungan kepercayaan untuk saluran selamat SSL/TLS" apabila mengakses perkhidmatan web SOAP. Ini boleh berlaku walaupun perkhidmatan telah berfungsi sebelum ini dan kekal boleh diakses dari lokasi lain.
Punca Punca:
Ralat ini biasanya berpunca daripada masalah sijil SSL pada pelayan. Ketidakpadanan antara nama hos pelayan dan nama hos sijil, atau penggunaan sijil yang ditandatangani sendiri, adalah punca biasa.
Menyelesaikan Isu (Memintas Pengesahan Sijil):
Untuk memintas pengesahan sijil SSL (gunakan dengan sangat berhati-hati):
Kaedah 1 (Ungkapan Lambda):
<code class="language-csharp">System.Net.ServicePointManager.ServerCertificateValidationCallback = ((sender, certificate, chain, sslPolicyErrors) => true);</code>
Kaedah 2 (Ungkapan Lambda dengan Semakan Nama Hos):
<code class="language-csharp">System.Net.ServicePointManager.ServerCertificateValidationCallback = ((sender, cert, chain, errors) => cert.Subject.Contains("YourServerName"));</code>
Kaedah 3 (Kaedah Tradisional dengan Semakan Nama Hos):
<code class="language-csharp">ServicePointManager.ServerCertificateValidationCallback += new RemoteCertificateValidationCallback(ValidateRemoteCertificate); // Validation Callback private static bool ValidateRemoteCertificate(object sender, X509Certificate cert, X509Chain chain, SslPolicyErrors policyErrors) { bool result = cert.Subject.Contains("YourServerName"); return result; }</code>
Nota Keselamatan Penting:
Penyelesaian ini melumpuhkan pengesahan sijil. Ini sangat berisiko untuk pelayan luaran dan hanya boleh digunakan untuk pelayan dalaman yang implikasi keselamatannya difahami dan diterima sepenuhnya. Penggunaan yang tidak betul boleh menyebabkan sistem anda terdedah kepada serangan man-in-the-middle.
Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat 'SSL/TLS Secure Channel Trust Relationship' dalam Perkhidmatan Web SOAP Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!