From 42498728a0882356a03684afd76d2f6fe64e9f72 Mon Sep 17 00:00:00 2001 From: Wilfried Boos Date: Tue, 2 Nov 2021 21:56:42 +0100 Subject: [PATCH 1/2] added cert file to request --- src/azure-cli/azure/cli/command_modules/resource/_bicep.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/azure-cli/azure/cli/command_modules/resource/_bicep.py b/src/azure-cli/azure/cli/command_modules/resource/_bicep.py index 6e23769fa6f..b7d69be6113 100644 --- a/src/azure-cli/azure/cli/command_modules/resource/_bicep.py +++ b/src/azure-cli/azure/cli/command_modules/resource/_bicep.py @@ -9,6 +9,7 @@ import platform import subprocess import json +import certifi from json.decoder import JSONDecodeError from contextlib import suppress @@ -106,8 +107,8 @@ def ensure_bicep_installation(release_tag=None, stdout=True): print(f"Installing Bicep CLI {release_tag}...") else: print("Installing Bicep CLI...") - - request = urlopen(_get_bicep_download_url(system, release_tag)) + ca_file = certifi.where() + request = urlopen(_get_bicep_download_url(system, release_tag), cafile=ca_file) with open(installation_path, "wb") as f: f.write(request.read()) From ffd2dfd9e564538df42130c6aa0750b701ac6b61 Mon Sep 17 00:00:00 2001 From: Wilfried Boos Date: Wed, 3 Nov 2021 21:17:49 +0100 Subject: [PATCH 2/2] added ca_file everywhere were needed --- src/azure-cli/azure/cli/command_modules/resource/_bicep.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/azure-cli/azure/cli/command_modules/resource/_bicep.py b/src/azure-cli/azure/cli/command_modules/resource/_bicep.py index b7d69be6113..e71af9dd44b 100644 --- a/src/azure-cli/azure/cli/command_modules/resource/_bicep.py +++ b/src/azure-cli/azure/cli/command_modules/resource/_bicep.py @@ -141,7 +141,8 @@ def is_bicep_file(file_path): def get_bicep_available_release_tags(): try: - response = requests.get("https://aka.ms/BicepReleases") + ca_file = certifi.where() + response = requests.get("https://aka.ms/BicepReleases", verify=ca_file) return [release["tag_name"] for release in response.json()] except IOError as err: raise ClientRequestError(f"Error while attempting to retrieve available Bicep versions: {err}.") @@ -149,7 +150,8 @@ def get_bicep_available_release_tags(): def get_bicep_latest_release_tag(): try: - response = requests.get("https://aka.ms/BicepLatestRelease") + ca_file = certifi.where() + response = requests.get("https://aka.ms/BicepLatestRelease", verify=ca_file) response.raise_for_status() return response.json()["tag_name"] except IOError as err: