Python Requests: CA paketləri verify daxilində olmalıdır, cert yox
Təsdiqlənmiş CA etimad materialını yoxlama konfiqurasiyasına qoyun, sertifikat xətasını müştərinin şəxsi açarı üçün sorğu kimi qəbul etmək əvəzinə.
Bir həmkar sizə təşkilatın CA sertifikatını verir. Requests cert adlı parametr təklif edir. Adlar uyğun görünür, amma fərqli suallara cavab verirlər.
| Parametr | Məqsəd |
|---|---|
verify | Qarşı tərəfi yoxlamaq üçün istifadə olunan etimad materialını seçir |
cert | Müştəri autentifikasiyası tələb olunduqda müştəri sertifikatını şəxsi açarı ilə təqdim edir |
Təsdiqlənmiş müdaxilə CA üçün Requests əməliyyatı nəzərdə tutulan CA paketini seçə bilər:
response = requests.get(
'https://example.com/',
proxies=routes,
verify='/path/to/approved-ca-bundle.pem',
timeout=15,
)Burada routes tətbiqin mövcud proksi xəritəsidir. Yol bu müştəri üçün düzgün oxuna bilən etimad paketini göstərməlidir. Bu, yalnız bağlantı uğursuz olduğu üçün seçilmiş yüklənmiş veb-sayt sertifikatı deyil.
REQUESTS_CA_BUNDLE mühit dəyişəni dəstəklənən başqa etimad girişidir. Effektiv görünmürsə, faktiki göndərmə yolunu yoxlayın; hazırlanmış sorğu iş axınları və açıq parametrlər mühit konfiqurasiyasının birləşdirilməsi qaydasını dəyişə bilər.
CA-nın şəxsi açarına ehtiyacınız olmamalıdır
Müştərinin təsdiqlənmiş emissiyanı tanıması üçün lazım olan açıq CA sertifikatıdır. Onun imzalama şəxsi açarı başqa tərəfin güclü sirridir. Adi proksi etimad düzəlişinin bir hissəsi kimi tətbiq istifadəçilərinə paylanmamalıdır.
Müştəri sertifikatı yenə də müəyyən bir təyinat və ya ayrıca konfiqurasiya edilmiş TLS əlaqəsi tərəfindən tələb oluna bilər. Bu ayrı bir tələbdir, hər sertifikat yoxlama xətasından çıxarılan bir şey deyil.
Növbəti xəta görünəndə əməliyyatı adlandırın: CA faylını yükləmək, qarşı tərəf sertifikatını yoxlamaq və ya müştəri kimliyini təqdim etmək. Mesaj dəyişənə qədər faylı verify ilə cert arasında köçürmək onun rolunu seçməyin etibarlı yolu deyil.