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 ドキュメントがブール値(True はデフォルトのチェーンを使用)またはCA_BUNDLE へのパスを受け入れると言うようにverify_ssl使用されます。requests.Session.verify
したがって、これは機能するはずです:
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)
...