[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get issuer certificate (_ssl.c:1007)
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 25/100
Direzione di ricerca
Iniziare dal punto di ingresso Connection(base_url, creds) e dalla chiamata get_core_client() descritti nel report, quindi tracciare come viene configurata la verifica dei certificati HTTPS. Riprodurre la richiesta di elenco dei progetti con le impostazioni CA riportate e determinare se ha esito positivo sul server ADO senza disabilitare la verifica.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Running a pipeline on one of our ADO server I try to run the same script but it is connecting to another server
I tried using the local certificate and I tried disabling SSL check at all
Getting a connection works fine, but trying to get projects :
project_client = self.connection.clients_v7_1.get_core_client()
I always get this error
Error occurred in request., SSLError: HTTPSConnectionPool(host='**********', port=443): Max retries exceeded with url: /companyname/_apis (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get issuer certificate (_ssl.c:1007)')))
I tried using the CA path
I tried disabling SSL at all
I tried to run the pipeline on different pools too
I am out of ideas, any help appreciated
class Ado:
def init_ssl_env(self):
if not os.path.exists(Ado.certificate_path):
return
try:
if self.verify_ssl:
# Option 1: Set CA bundle to custom certificate
os.environ['REQUESTS_CA_BUNDLE'] = Ado.certificate_path
self.logger.info(f"Enable SSL check - REQUESTS_CA_BUNDLE = {Ado.certificate_path}")
else:
# Option 2: Disable SSL verification globally (not recommended for production)
os.environ['PYTHONHTTPSVERIFY'] = '0'
self.logger.info(f"Disable SSL check - PYTHONHTTPSVERIFY = 0")
except Exception as e:
self.logger.error(f"Error setting SSL: {str(e)}")
sys.exit(1)
Here is how I get my connection:
def get_api_connection(self,url):
'''
Sets up a connection with the Azure Devops API via the Azure Devops python API
(https://github.com/microsoft/azure-devops-python-api/tree/dev)
Parameters:
org_url (string): url of the organization
Returns:
<class 'azure.devops.connection.Connection'>: connection with the Azure Devops API
'''
_url = f"https://{url}"
self.url = url
try:
credentials = BasicAuthentication('', f"{Ado.servers[url]}")
self.connection = Connection(base_url = _url, creds = credentials)
self.logger.info(f'Azure Devops Connection established successfully with {_url}.')
return True
except Exception:
self.logger.exception(f'Error setting up Azure DevOps connection with {_url}.')
return False
- Lingua principale
- Python
- Stelle
- 684
- Fork
- 218
- Merge medio
- 8g 10h
- PR unite (30g)
- 1
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di microsoft/azure-devops-python-api
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 55/100
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
-
README sample code has a bug Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 55/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
Tutte le issue di microsoft/azure-devops-python-api
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
zostera/django-bootstrap4#894 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
use-agent-os/agent-os#3276 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
zephyrproject-rtos/zephyr#119726 ·
-
area/auth bug comp/agent P3 platform/discord type/security
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
NousResearch/hermes-agent#117848 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
zilliztech/memsearch#759 ·