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 хооронд зөөх нь түүний үүргийг сонгох найдвартай арга биш юм.