ฉันพยายามตั้งค่าการอนุญาตใบรับรองไคลเอ็นต์บนจุดสิ้นสุด IIS ติดตามการสอนได้ที่ https://joji.me/en-us/blog/how-to-create-an-iis-website-that-requires-client-certificate-using-self-signed-certificates/ ฉันสร้างใบรับรองหลัก จากนั้นจึงสร้างใบรับรองเซิร์ฟเวอร์และใบรับรองไคลเอนต์จากใบรับรองหลักนั้น
ฉันเห็นว่าบนเซิร์ฟเวอร์ของฉัน (Windows 2012 R2 โดยใช้ IIS 8.5) เมื่อฉันติดตั้งใบรับรองหลักในที่เก็บใบรับรองรูทที่เชื่อถือได้และใบรับรองไคลเอ็นต์ในร้านค้าส่วนตัวสำหรับผู้ใช้ปัจจุบัน ฉันสามารถเรียกดูไปยังจุดสิ้นสุดได้ฉันพิมพ์ที่อยู่ (https://localhost/foobar/endpointName) รายชื่อใบรับรองไคลเอนต์จะปรากฏขึ้นให้ฉันเลือก และถ้าฉันเลือกที่ถูกต้อง ฉันก็จะไปถึงปลายทาง
มันเป็นเรื่องที่แตกต่างกันในระยะไกล เมื่อฉันลองจากเครื่องอื่นที่มีใบรับรองไคลเอนต์เดียวกันที่ติดตั้งในร้านค้าส่วนตัวของผู้ใช้ ฉันไม่ได้รับรายการใบรับรองไคลเอนต์ให้เลือก ฉันได้รับข้อผิดพลาด 403 ไม่ได้รับอนุญาต ในกรณีนี้ URL คือ https://serverCertName.domain.com/foobar/endpointNameโดยที่ serverCertName.domain.com มีระเบียน A ที่เหมาะสม ฉันได้ลองสิ่งนี้ใน IE ซึ่งคุณสามารถโหลดใบรับรองโดยเฉพาะและได้ผลลัพธ์เดียวกัน ในบันทึก IIS บนเซิร์ฟเวอร์ที่ฉันพยายามเข้าถึง ความพยายามเหล่านี้ถูกบันทึกเป็น 403.7
ฉันได้ลองสิ่งนี้จากโค้ดบนเซิร์ฟเวอร์ระยะไกลโดยใช้ HttpClient (C#) และรับ Unauthorized ที่นั่นเช่นกัน ฉันจ้องที่หน้าจอเป็นเวลานานในขณะที่พยายามหาความแตกต่างระหว่างคำขอในพื้นที่ของฉันกับคำขอระยะไกล แต่ทักษะการค้นหาทางอินเทอร์เน็ตทำให้ฉันล้มเหลวในครั้งนี้