Python Requests: ang mga CA bundle ay nasa verify, hindi sa cert
Ilagay ang aprubadong CA trust material sa verification configuration sa halip na ituring ang certificate error bilang kahilingan para sa private key ng kliyente.
Binibigay sa iyo ng kasamahan ang CA certificate ng organisasyon. May parameter ang Requests na tinatawag na cert. Mukhang magkapares ang mga pangalan, ngunit magkaibang tanong ang sinasagot nila.
| Setting | Layunin |
|---|---|
verify | Pinipili ang trust material na ginagamit para i-verify ang kabilang panig |
cert | Nagpapakita ng client certificate, kasama ang private key nito, kapag kailangan ang client authentication |
Para sa aprubadong interception CA, maaaring piliin ng isang Requests operation ang nilalayong CA bundle:
response = requests.get(
'https://example.com/',
proxies=routes,
verify='/path/to/approved-ca-bundle.pem',
timeout=15,
)Dito, ang routes ay ang umiiral na proxy mapping ng application. Dapat pangalanan ng path ang tamang nababasang trust bundle para sa kliyenteng ito. Hindi ito isang na-download na website certificate na pinili lang dahil nabigo ang koneksyon.
Ang environment variable na REQUESTS_CA_BUNDLE ay isa pang sinusuportahang trust input. Suriin ang aktwal na daan ng pagpapadala kung mukhang walang epekto; ang mga workflow ng prepared request at tahasang setting ay maaaring magbago kung paano pinagsasama ang environment configuration.
Hindi mo dapat kailanganin ang private key ng CA
Ang pampublikong CA certificate ang kailangan ng kliyente upang makilala ang aprubadong issuer. Ang private signing key nito ay malakas na lihim ng ibang partido. Hindi ito dapat ipamahagi sa mga user ng application bilang bahagi ng rutinang pag-aayos ng proxy trust.
Maaaring kailanganin pa rin ng isang partikular na destinasyon o ng isa pang hiwalay na naka-configure na TLS relationship ang client certificate. Iyon ay hiwalay na pangangailangan, hindi isang bagay na hinuhulaan mula sa bawat error sa pag-verify ng certificate.
Kapag lumitaw ang susunod na error, pangalanan ang operasyon: pag-load ng CA file, pag-verify ng certificate ng kabilang panig, o pagpapakita ng pagkakakilanlan ng kliyente. Ang paglipat ng file sa pagitan ng verify at cert hanggang magbago ang mensahe ay hindi maaasahang paraan upang piliin ang papel nito.