mirror of
https://github.com/tomaae/homeassistant-mikrotik_router.git
synced 2025-08-13 22:28:32 +02:00
Added SSL Verify option
This commit is contained in:
parent
955fa33bca
commit
8e68931e57
6 changed files with 34 additions and 10 deletions
|
@ -28,12 +28,14 @@ class MikrotikAPI:
|
|||
password,
|
||||
port=0,
|
||||
use_ssl=True,
|
||||
ssl_verify=True,
|
||||
login_method=DEFAULT_LOGIN_METHOD,
|
||||
encoding=DEFAULT_ENCODING,
|
||||
):
|
||||
"""Initialize the Mikrotik Client."""
|
||||
self._host = host
|
||||
self._use_ssl = use_ssl
|
||||
self._ssl_verify = ssl_verify
|
||||
self._port = port
|
||||
self._username = username
|
||||
self._password = password
|
||||
|
@ -118,15 +120,19 @@ class MikrotikAPI:
|
|||
"port": self._port,
|
||||
}
|
||||
|
||||
if self._use_ssl:
|
||||
if self._ssl_wrapper is None:
|
||||
ssl_context = ssl.create_default_context()
|
||||
ssl_context.check_hostname = False
|
||||
ssl_context.verify_mode = ssl.CERT_NONE
|
||||
self._ssl_wrapper = ssl_context.wrap_socket
|
||||
kwargs["ssl_wrapper"] = self._ssl_wrapper
|
||||
self.lock.acquire()
|
||||
try:
|
||||
if self._use_ssl:
|
||||
if self._ssl_wrapper is None:
|
||||
ssl_context = ssl.create_default_context()
|
||||
ssl_context.check_hostname = False
|
||||
if self._ssl_verify:
|
||||
ssl_context.verify_mode = ssl.CERT_REQUIRED
|
||||
ssl_context.verify_flags &= ~ssl.VERIFY_X509_STRICT
|
||||
else:
|
||||
ssl_context.verify_mode = ssl.CERT_NONE
|
||||
self._ssl_wrapper = ssl_context.wrap_socket
|
||||
kwargs["ssl_wrapper"] = self._ssl_wrapper
|
||||
self._connection = librouteros.connect(
|
||||
self._host, self._username, self._password, **kwargs
|
||||
)
|
||||
|
@ -164,6 +170,9 @@ class MikrotikAPI:
|
|||
if "ALERT_HANDSHAKE_FAILURE" in error:
|
||||
self.error = "ssl_handshake_failure"
|
||||
|
||||
if "CERTIFICATE_VERIFY_FAILED" in error:
|
||||
self.error = "ssl_verify_failure"
|
||||
|
||||
# ---------------------------
|
||||
# connected
|
||||
# ---------------------------
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue