mirror of
https://github.com/bunny-lab-io/Borealis.git
synced 2025-10-26 17:41:58 -06:00
Fix Socket.IO TLS context for pinned certificates
This commit is contained in:
@@ -931,8 +931,15 @@ class AgentHttpClient:
|
|||||||
context = None
|
context = None
|
||||||
if isinstance(verify, str) and os.path.isfile(verify):
|
if isinstance(verify, str) and os.path.isfile(verify):
|
||||||
try:
|
try:
|
||||||
context = ssl.create_default_context(cafile=verify)
|
# ``create_default_context`` expects a proper CA bundle and
|
||||||
|
# will reject self-signed leaf certificates that we pin on
|
||||||
|
# disk. Build a dedicated client context instead and load
|
||||||
|
# the pinned certificate as a trust anchor so the SYSTEM
|
||||||
|
# agent can complete TLS handshakes identical to Requests.
|
||||||
|
context = ssl.SSLContext(ssl.PROTOCOL_TLS_CLIENT)
|
||||||
context.check_hostname = False
|
context.check_hostname = False
|
||||||
|
context.verify_mode = ssl.CERT_REQUIRED
|
||||||
|
context.load_verify_locations(cafile=verify)
|
||||||
_log_agent(
|
_log_agent(
|
||||||
f"SocketIO TLS alignment created SSLContext from cafile={verify}",
|
f"SocketIO TLS alignment created SSLContext from cafile={verify}",
|
||||||
fname="agent.log",
|
fname="agent.log",
|
||||||
|
|||||||
Reference in New Issue
Block a user