เพื่อนร่วมงานมอบใบรับรอง CA ขององค์กรให้คุณ Requests มีพารามิเตอร์ชื่อ cert ชื่อทั้งสองดูเหมือนคู่กัน แต่ตอบคำถามที่ต่างกัน

การตั้งค่าจุดประสงค์
verifyเลือกเนื้อหาความน่าเชื่อถือที่ใช้ตรวจสอบอีกฝ่าย
certแสดงใบรับรองไคลเอนต์พร้อมคีย์ส่วนตัว เมื่อต้องการการพิสูจน์ตัวตนของไคลเอนต์

สำหรับ CA สำหรับดักจับที่ได้รับอนุมัติ การดำเนินการของ Requests สามารถเลือกชุด CA ที่ต้องการได้:

response = requests.get(
    'https://example.com/',
    proxies=routes,
    verify='/path/to/approved-ca-bundle.pem',
    timeout=15,
)

ที่นี่ routes คือการแมปพร็อกซีที่มีอยู่ของแอปพลิเคชัน เส้นทางต้องระบุชุดความน่าเชื่อถือที่ถูกต้องและอ่านได้สำหรับไคลเอนต์นี้ ไม่ใช่ใบรับรองเว็บไซต์ที่ดาวน์โหลดมาแล้วเลือกเพียงเพราะการเชื่อมต่อล้มเหลว

ตัวแปรสภาพแวดล้อม REQUESTS_CA_BUNDLE เป็นแหล่งความน่าเชื่อถืออีกแหล่งที่รองรับ ตรวจสอบเส้นทางการส่งจริงหากดูเหมือนไม่มีผล เวิร์กโฟลว์คำขอที่เตรียมไว้ และการตั้งค่าที่ชัดเจนอาจเปลี่ยนวิธีที่ การกำหนดค่าสภาพแวดล้อมถูกรวมเข้าด้วยกัน

คุณไม่ควรต้องใช้คีย์ส่วนตัวของ CA

ใบรับรอง CA สาธารณะคือสิ่งที่ไคลเอนต์ต้องใช้เพื่อจดจำผู้ออกที่ได้รับอนุมัติ คีย์ส่วนตัวสำหรับลงนามเป็นความลับที่ทรงพลังของอีกฝ่าย ไม่ควรแจกจ่ายให้ผู้ใช้แอปพลิเคชันเป็นส่วนหนึ่งของการซ่อมแซมความน่าเชื่อถือพร็อกซีตามปกติ

ใบรับรองไคลเอนต์อาจยังคงถูกเรียกจากปลายทางเฉพาะหรือความสัมพันธ์ TLS อื่นที่กำหนดค่าแยกต่างหาก นั่นเป็นข้อกำหนดแยกต่างหาก ไม่ใช่สิ่งที่อนุมานจากข้อผิดพลาดในการตรวจสอบใบรับรองทุกครั้ง

เมื่อข้อผิดพลาดถัดไปปรากฏขึ้น ให้ระบุการดำเนินการ: โหลดไฟล์ CA ตรวจสอบใบรับรองอีกฝ่าย หรือแสดงตัวตนไคลเอนต์ การย้ายไฟล์ระหว่าง verify และ cert จนกว่าข้อความจะเปลี่ยนไม่ใช่วิธีที่เชื่อถือได้ในการเลือกบทบาทของไฟล์

บทความที่เกี่ยวข้อง