簡體   English   中英

請求:cert 和 verify 有什么區別?

[英]Requests: what is the difference between cert and verify?

cert 和 verify 有什么區別?

從文檔:

verify –(可選)如果為 True,將驗證 SSL 證書。 還可以提供 CA_BUNDLE 路徑。 cert –(可選)如果是字符串,則為 ssl 客戶端證書文件 (.pem) 的路徑。 如果是元組,則 ('cert', 'key') 對。

這是否意味着我可以執行以下操作:

CA_BUNDLE='path/to/.pem'
requests.get(url=google.com, verify= CA_BUNDLE)

或者

Cert='path/to/.pem'
requests.get(url=google.com, cert=Cert)

他們倆看起來都在做同樣的事情。 除了 verify 可以禁用 ssl 驗證。

我正在嘗試使用 PYinstaller 將我的代碼編譯為 exe。 我正在使用我看到已經有一個 cacert.pem 文件的 certifi 模塊,但我想我仍然必須將它與我的代碼捆綁在一起。

在我的代碼中,我是修改 ...verify 還是 cert?...使用 cacert.pem 的路徑還是只是“cacert.pem”?

我認為它在文檔中明確說明:http: //www.python-requests.org/en/latest/user/advanced/#ssl-cert-verification

選項cert是向您發送自己的證書,例如使用客戶端證書對服務器進行身份驗證。 它需要一個證書文件,如果密鑰與證書不在同一個文件中,則還需要密鑰文件。

選項verify用於啟用(默認)或禁用服務器證書的驗證。 它可以采用 True 或 False 或包含受信任 CA 的文件的名稱。 如果沒有給出,我認為(沒有記錄?)它將采用來自 OpenSSL 的默認 CA 路徑/文件,它通常適用於 UNIX(可能除了 OS X)而不是 Windows。

如果*.pem文件有這個部分

-----BEGIN PRIVATE KEY-----
....
-----END PRIVATE KEY-----

然后使用cert


如果不是,則使用verify

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM