@@ -1026,6 +1026,7 @@ def __init__(
10261026 ssl_certfile : Optional [str ] = None ,
10271027 ssl_cert_reqs : str = "required" ,
10281028 ssl_ca_certs : Optional [str ] = None ,
1029+ ssl_ca_data : Optional [str ] = None ,
10291030 ssl_check_hostname : bool = False ,
10301031 ** kwargs ,
10311032 ):
@@ -1035,6 +1036,7 @@ def __init__(
10351036 certfile = ssl_certfile ,
10361037 cert_reqs = ssl_cert_reqs ,
10371038 ca_certs = ssl_ca_certs ,
1039+ ca_data = ssl_ca_data ,
10381040 check_hostname = ssl_check_hostname ,
10391041 )
10401042
@@ -1054,6 +1056,10 @@ def cert_reqs(self):
10541056 def ca_certs (self ):
10551057 return self .ssl_context .ca_certs
10561058
1059+ @property
1060+ def ca_data (self ):
1061+ return self .ssl_context .ca_data
1062+
10571063 @property
10581064 def check_hostname (self ):
10591065 return self .ssl_context .check_hostname
@@ -1065,6 +1071,7 @@ class RedisSSLContext:
10651071 "certfile" ,
10661072 "cert_reqs" ,
10671073 "ca_certs" ,
1074+ "ca_data" ,
10681075 "context" ,
10691076 "check_hostname" ,
10701077 )
@@ -1075,6 +1082,7 @@ def __init__(
10751082 certfile : Optional [str ] = None ,
10761083 cert_reqs : Optional [str ] = None ,
10771084 ca_certs : Optional [str ] = None ,
1085+ ca_data : Optional [str ] = None ,
10781086 check_hostname : bool = False ,
10791087 ):
10801088 self .keyfile = keyfile
@@ -1093,6 +1101,7 @@ def __init__(
10931101 )
10941102 self .cert_reqs = CERT_REQS [cert_reqs ]
10951103 self .ca_certs = ca_certs
1104+ self .ca_data = ca_data
10961105 self .check_hostname = check_hostname
10971106 self .context : Optional [ssl .SSLContext ] = None
10981107
@@ -1103,8 +1112,8 @@ def get(self) -> ssl.SSLContext:
11031112 context .verify_mode = self .cert_reqs
11041113 if self .certfile and self .keyfile :
11051114 context .load_cert_chain (certfile = self .certfile , keyfile = self .keyfile )
1106- if self .ca_certs :
1107- context .load_verify_locations (self .ca_certs )
1115+ if self .ca_certs or self . ca_data :
1116+ context .load_verify_locations (cafile = self .ca_certs , cadata = self . ca_data )
11081117 self .context = context
11091118 return self .context
11101119
0 commit comments