Added support for client SSL certificates for https

Thanks almer-fuel for the inital patch!
This commit is contained in:
Honza Král
2014-11-14 15:31:49 +01:00
parent fedcfafe7e
commit 03a817690d
2 changed files with 10 additions and 3 deletions
+5 -1
View File
@@ -19,9 +19,12 @@ class RequestsHttpConnection(Connection):
:arg verify_certs: whether to verify SSL certificates
:arg ca_certs: optional path to CA bundle. By default standard requests'
bundle will be used.
:arg client_cert: path to the file containing the private key and the
certificate
"""
def __init__(self, host='localhost', port=9200, http_auth=None,
use_ssl=False, verify_certs=False, ca_certs=None, **kwargs):
use_ssl=False, verify_certs=False, ca_certs=None, client_cert=None,
**kwargs):
if not REQUESTS_AVAILABLE:
raise ImproperlyConfigured("Please install requests to use RequestsHttpConnection.")
@@ -37,6 +40,7 @@ class RequestsHttpConnection(Connection):
host, port, self.url_prefix
)
self.session.verify = verify_certs
self.session.cert = client_cert
if ca_certs:
if not verify_certs:
raise ImproperlyConfigured("You cannot pass CA certificates when verify SSL is off.")
+5 -2
View File
@@ -17,12 +17,14 @@ class Urllib3HttpConnection(Connection):
:arg ca_certs: optional path to CA bundle. See
http://urllib3.readthedocs.org/en/latest/security.html#using-certifi-with-urllib3
for instructions how to get default set
:arg client_cert: path to the file containing the private key and the
certificate
:arg maxsize: the maximum number of connections which will be kept open to
this host.
"""
def __init__(self, host='localhost', port=9200, http_auth=None,
use_ssl=False, verify_certs=False, ca_certs=None, maxsize=10,
**kwargs):
use_ssl=False, verify_certs=False, ca_certs=None, client_cert=None,
maxsize=10, **kwargs):
super(Urllib3HttpConnection, self).__init__(host=host, port=port, **kwargs)
self.headers = {}
@@ -39,6 +41,7 @@ class Urllib3HttpConnection(Connection):
if verify_certs:
kw['cert_reqs'] = 'CERT_REQUIRED'
kw['ca_certs'] = ca_certs
kw['cert_file'] = client_cert
elif ca_certs:
raise ImproperlyConfigured("You cannot pass CA certificates when verify SSL is off.")