Python Requests: CA-vöndlar eiga heima í verify, ekki í cert
Setjið samþykkt CA-traustarefni í sannprófunarstillinguna í stað þess að líta á skírteinisvillu sem beiðni um einkalykil viðskiptavinarins.
Kollega gefur þér CA-skírteini stofnunarinnar. Requests býður upp á færibreytu sem heitir cert. Nöfnin líta út eins og par, en þau svara ólíkum spurningum.
| Stilling | Tilgangur |
|---|---|
verify | Velur traustarefnið sem notað er til að sannprófa mótaðilann |
cert | Leggur fram skírteini viðskiptavinar, ásamt einkalykli þess, þegar þörf er á auðkenningu viðskiptavinar |
Fyrir samþykktan afskurðar-CA getur Requests-aðgerð valið ætlaða CA-vöndulinn:
response = requests.get(
'https://example.com/',
proxies=routes,
verify='/path/to/approved-ca-bundle.pem',
timeout=15,
)Hér er routes núverandi proxy-vörpun forritsins. Slóðin verður að nefna rétta læsilega traustavöndulinn fyrir þennan viðskiptavin. Þetta er ekki niðurhlaðið vefsvæðisskírteini sem valið var eingöngu vegna þess að tengingin mistókst.
Umhverfisbreytan REQUESTS_CA_BUNDLE er annar studdur traustsinntak. Athugaðu raunverulegu sendingarslóðina ef hún virðist árangurslaus; vinnuflæði undirbúinna beiðna og skýrar stillingar geta breytt því hvernig umhverfisstillingin er sameinuð.
Þú ættir ekki að þurfa einkalykil CA
Opinbert CA-skírteini er það sem viðskiptavinur þarf til að þekkja samþykktan útgefanda. Undirskriftareinkalykill þess er öflugt leyndarmál annars aðila. Honum ætti ekki að dreifa til notenda forritsins sem hluta af venjulegri viðgerð á trausti proxy.
Skírteini viðskiptavinar getur samt verið krafist af tilteknum áfangastað eða öðru sérstaklega stilltu TLS-sambandi. Það er sérstök krafa, ekki eitthvað sem er dregið af hverri skírteinissannprófunarvillu.
Þegar næsta villa birtist, nefndu aðgerðina: hlaða CA-skrá, sannprófa skírteini mótaðila eða leggja fram auðkenni viðskiptavinar. Að flytja skrá milli verify og cert þar til skilaboðin breytast er ekki áreiðanleg leið til að velja hlutverk hennar.