Python Requests: CA தொகுப்புகள் verify-இல் இருக்க வேண்டும், cert-இல் அல்ல
அனுமதிக்கப்பட்ட CA நம்பிக்கைப் பொருளை சரிபார்ப்பு உள்ளமைவில் வைக்கவும், சான்றிதழ் பிழையை வாடிக்கையாளரின் தனிப்பட்ட விசைக்கான கோரிக்கையாகக் கருதாமல்.
ஒரு சக ஊழியர் உங்களுக்கு அமைப்பின் 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 இடையே கோப்பை நகர்த்துவது அதன் பங்கைத் தேர்ந்தெடுக்கும் நம்பகமான வழி அல்ல.