diff --git a/collectd/files/collectd_http_check.conf b/collectd/files/collectd_http_check.conf
index d14af9f..c9e418e 100644
--- a/collectd/files/collectd_http_check.conf
+++ b/collectd/files/collectd_http_check.conf
@@ -11,6 +11,15 @@
   {%- if params.get('expected_content') %}
   ExpectedContent "{{ name }}" "{{ params.expected_content|replace('"','\\"') }}"
   {%- endif %}
+  {%- if params.verify is defined %}
+  Verify "{{ name }}" "{{ params.verify }}"
+  {%- endif %}
+  {%- if params.get('client_cert') %}
+  ClientCert "{{ name }}" "{{ params.client_cert }}"
+  {%- endif %}
+  {%- if params.get('client_key') %}
+  ClientKey "{{ name }}" "{{ params.client_key }}"
+  {%- endif %}
   {%- endfor %}
 </Module>
 {%- endif %}
diff --git a/collectd/files/plugin/collectd_http_check.py b/collectd/files/plugin/collectd_http_check.py
index 7747dc7..1ad78c5 100644
--- a/collectd/files/plugin/collectd_http_check.py
+++ b/collectd/files/plugin/collectd_http_check.py
@@ -32,6 +32,9 @@
         self.urls = {}
         self.expected_codes = {}
         self.expected_contents = {}
+        self.verify = {}
+        self.client_keys = {}
+        self.client_certs = {}
 
         self.timeout = 3
         self.max_retries = 2
@@ -58,6 +61,15 @@
                 self.expected_codes[node.values[0]] = int(node.values[1])
             elif node.key == 'ExpectedContent':
                 self.expected_contents[node.values[0]] = node.values[1]
+            elif node.key == 'Verify':
+                if node.values[1].lower() == 'false':
+                    self.verify[node.values[0]] = False
+                else:
+                    self.verify[node.values[0]] = node.values[1]
+            elif node.key == 'ClientCert':
+                self.client_certs[node.values[0]] = node.values[1]
+            elif node.key == 'ClientKey':
+                self.client_keys[node.values[0]] = node.values[1]
 
         for name, url in self.urls.items():
             session = requests.Session()
@@ -70,6 +82,13 @@
                     'https://',
                     requests.adapters.HTTPAdapter(max_retries=self.max_retries)
                 )
+
+                session.verify = self.verify.get(name, True)
+                if self.client_certs.get(name) and self.client_keys.get(name):
+                    session.cert = (self.client_certs.get(name), self.client_keys.get(name))
+                elif self.client_certs.get(name):
+                    session.cert = self.client_certs.get(name)
+
             self.sessions[name] = session
 
     def check_url(self, name, url):
