Software Development Kit (SDK) and API Discussions

Python - How to disable SSL certificate verification

pierrecarette
95,761 Views

To keep things simple I'd like to disable the certificate verification when connectiing via HTTPs:

 

s = NaServer("##.##.##.##", 1 , 31)
s.set_server_type("FILER")
s.set_transport_type("HTTPS")
s.set_port(443)
s.set_style("LOGIN")
print(s.is_server_cert_verification_enabled())
s.set_admin_user("admin", "####")

 

 s.is_server_cert_verification_enabled() is False by default

 

but I still get this error:

 

<results status="failed" reason="[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:600)" errno="13001"></results>

1 ACCEPTED SOLUTION

pierrecarette
95,753 Views

I found this solution, insert this code at the beginning of your source file:

 

import ssl

try:
_create_unverified_https_context = ssl._create_unverified_context
except AttributeError:
# Legacy Python that doesn't verify HTTPS certificates by default
pass
else:
# Handle target environment that doesn't support HTTPS verification
ssl._create_default_https_context = _create_unverified_https_context

 

View solution in original post

4 REPLIES 4

pierrecarette
95,754 Views

I found this solution, insert this code at the beginning of your source file:

 

import ssl

try:
_create_unverified_https_context = ssl._create_unverified_context
except AttributeError:
# Legacy Python that doesn't verify HTTPS certificates by default
pass
else:
# Handle target environment that doesn't support HTTPS verification
ssl._create_default_https_context = _create_unverified_https_context

 

RaviTeja1988
79,890 Views

Thank you. It's helps me a lot.

Ankoji
14,503 Views

I am  encountering the same error message with netapp-ontap 9.8 python client library. I tried to apply the specified fix for ssl verification error but no luck. Can someone please suggest a fix for this?

ken
NetApp
8,612 Views

For the newer python client library add verify=False to your HostConnection string:

 

config.CONNECTION = HostConnection('hostname or IP', 'user', 'password', verify=False)

 

Public