Skip to content

Commit 845cd45

Browse files
committed
Integrate truststore so System certificates are trusted automatically
1 parent f92f723 commit 845cd45

File tree

5 files changed

+15
-0
lines changed

5 files changed

+15
-0
lines changed
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import requests.adapters
2+
import ssl
3+
import truststore
4+
5+
class SSLContextAdapter(requests.adapters.HTTPAdapter):
6+
def init_poolmanager(self, *args, **kwargs):
7+
ctx = truststore.SSLContext(ssl.PROTOCOL_TLS_CLIENT)
8+
9+
kwargs['ssl_context'] = ctx
10+
return super(SSLContextAdapter, self).init_poolmanager(*args, **kwargs)

src/azure-cli-core/azure/cli/core/util.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -906,6 +906,7 @@ def send_raw_request(cli_ctx, method, url, headers=None, uri_parameters=None, #
906906
import uuid
907907
from requests import Session, Request
908908
from requests.structures import CaseInsensitiveDict
909+
from azure.cli.core.ssl_context_adaptor import SSLContextAdapter
909910

910911
result = CaseInsensitiveDict()
911912
for s in headers or []:
@@ -1027,6 +1028,7 @@ def send_raw_request(cli_ctx, method, url, headers=None, uri_parameters=None, #
10271028

10281029
# https://requests.readthedocs.io/en/latest/user/advanced/#prepared-requests
10291030
s = Session()
1031+
s.mount(url, SSLContextAdapter())
10301032
req = Request(method=method, url=url, headers=headers, params=uri_parameters, data=body)
10311033
prepped = s.prepare_request(req)
10321034

src/azure-cli/requirements.py3.Darwin.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,7 @@ semver==2.13.0
127127
six==1.16.0
128128
sshtunnel==0.1.5
129129
tabulate==0.8.9
130+
truststore==0.10.0
130131
urllib3==1.26.19
131132
wcwidth==0.1.7
132133
websocket-client==1.3.1

src/azure-cli/requirements.py3.Linux.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@ semver==2.13.0
128128
six==1.16.0
129129
sshtunnel==0.1.5
130130
tabulate==0.8.9
131+
truststore==0.10.0
131132
urllib3==1.26.19
132133
wcwidth==0.1.7
133134
websocket-client==1.3.1

src/azure-cli/requirements.py3.windows.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,7 @@ semver==2.13.0
129129
six==1.16.0
130130
sshtunnel==0.1.5
131131
tabulate==0.8.9
132+
truststore==0.10.0
132133
urllib3==1.26.19
133134
wcwidth==0.1.7
134135
websocket-client==1.3.1

0 commit comments

Comments
 (0)