我知道如何使用 easywebdav 使用 python 连接到我自己的云。
我正在使用自签名证书和verify_ssl=False
,但这使我容易受到中间人攻击,这是首先使用 ssl 的唯一原因。
我正在使用 Fedora 并尝试将我的服务器证书添加到$HOME/.pki/CA/cacert.pem
,但它仍然失败。
我知道如何使用 easywebdav 使用 python 连接到我自己的云。
我正在使用自签名证书和verify_ssl=False
,但这使我容易受到中间人攻击,这是首先使用 ssl 的唯一原因。
我正在使用 Fedora 并尝试将我的服务器证书添加到$HOME/.pki/CA/cacert.pem
,但它仍然失败。
您已经在$HOME/.pki/CA/cacert.pem
. 但要对其他人来说是完整的,您可以像这样使用 python 获得证书:
import ssl
import os
# get the https certificate
cert = ssl.get_server_certificate(('example.com', 443))
# append it to my personal chain
pem_path = os.path.expanduser('~/.pki/CA/cacert.pem')
with open(pem_path, 'a+') as f:
f.write(cert)
然后在easywebdav中使用它。Easywebdav 建立在 requests 之上。并且verify_ssl
用作requests.Session.verify
Requests 文档说它接受布尔值(True 使用默认链)或CA_BUNDLE 的路径。
所以这应该工作:
import easywebdav
pem_path = os.path.expanduser('~/.pki/CA/cacert.pem')
webdav = easywebdav.connect('example.com', username='user', password='pass',
protocol='https', port=443,
verify_ssl=pem_path)
...