mirror of
https://github.com/trushildhokiya/allininx-2.git
synced 2025-03-15 14:28:39 +00:00
26 lines
797 B
Python
26 lines
797 B
Python
|
from ssl import SSLContext, create_default_context
|
||
|
from typing import List, Optional
|
||
|
|
||
|
from reworkd_platform.settings import Settings
|
||
|
|
||
|
MACOS_CERT_PATH = "/etc/ssl/cert.pem"
|
||
|
DOCKER_CERT_PATH = "/etc/ssl/certs/ca-certificates.crt"
|
||
|
|
||
|
|
||
|
def get_ssl_context(
|
||
|
settings: Settings, paths: Optional[List[str]] = None
|
||
|
) -> SSLContext:
|
||
|
if settings.db_ca_path:
|
||
|
return create_default_context(cafile=settings.db_ca_path)
|
||
|
|
||
|
for path in paths or [MACOS_CERT_PATH, DOCKER_CERT_PATH]:
|
||
|
try:
|
||
|
return create_default_context(cafile=path)
|
||
|
except FileNotFoundError:
|
||
|
continue
|
||
|
|
||
|
raise ValueError(
|
||
|
"No CA certificates found for your OS. To fix this, please run change "
|
||
|
"db_ca_path in your settings.py to point to a valid CA certificate file."
|
||
|
)
|