เราไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ HTTPS ที่ใช้WebRequest
เนื่องจากข้อความแสดงข้อผิดพลาดนี้:
The request was aborted: Could not create SSL/TLS secure channel.
เรารู้ว่าเซิร์ฟเวอร์ไม่มีใบรับรอง HTTPS ที่ถูกต้องตามเส้นทางที่ใช้ แต่เพื่อหลีกเลี่ยงปัญหานี้เราใช้รหัสต่อไปนี้ที่เรานำมาจากโพสต์ StackOverflow อื่น:
private void Somewhere() {
ServicePointManager.ServerCertificateValidationCallback += new RemoteCertificateValidationCallback(AlwaysGoodCertificate);
}
private static bool AlwaysGoodCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors policyErrors) {
return true;
}
ปัญหาคือว่าเซิร์ฟเวอร์ไม่เคยตรวจสอบใบรับรองและล้มเหลวด้วยข้อผิดพลาดข้างต้น ใครบ้างมีความคิดเกี่ยวกับสิ่งที่ฉันควรทำอย่างไร
ฉันควรพูดถึงเพื่อนร่วมงานและฉันทำการทดสอบเมื่อไม่กี่สัปดาห์ที่ผ่านมาและมันก็ใช้ได้ดีกับสิ่งที่คล้ายกับที่ฉันเขียนไว้ด้านบน "ความแตกต่างที่สำคัญ" อย่างเดียวที่เราพบคือฉันใช้ Windows 7 และเขาใช้ Windows XP สิ่งนั้นเปลี่ยนไปหรือไม่?
The request was aborted: Could not create SSL/TLS secure channel
เป็นเรื่องทั่วไปมาก โดยทั่วไปแล้วจะกล่าวว่า "การเริ่มต้นการเชื่อมต่อ SSL / TLS / HTTPS ล้มเหลวด้วยเหตุผลข้อใดข้อหนึ่งที่เป็นไปได้" ดังนั้นหากคุณได้รับมันเป็นประจำในสถานการณ์ที่เฉพาะเจาะจงตัวเลือกที่ดีที่สุดของคุณคือการถามคำถามเฉพาะที่ให้รายละเอียดเฉพาะเกี่ยวกับสถานการณ์นั้น และตรวจสอบ Event Viewer เพื่อดูข้อมูลเพิ่มเติม และ / หรือเปิดใช้งานการดีบักฝั่งไคลเอ็นต์. NET เพื่อรับรายละเอียดเพิ่มเติม (ใบรับรองเซิร์ฟเวอร์ไม่น่าเชื่อถือหรือไม่มีการเข้ารหัสไม่ตรงกันหรือไม่ SSL / TLS รุ่นโปรโตคอลไม่ตรงกัน? ฯลฯ )