Fix SSL certificate verification in provider data fetching

- Add get_ssl_verify_config() function to respect SSL environment variables
- Support REQUESTS_CA_BUNDLE, SSL_CERT_FILE, CURL_CA_BUNDLE env vars
- Fallback to certifi.where() when no custom CA bundle is specified
- Improve error handling for SSL verification failures
- Add comprehensive tests for SSL configuration scenarios

Fixes #2978

Co-Authored-By: João <joao@crewai.com>
This commit is contained in:
Devin AI
2025-06-09 14:27:16 +00:00
parent 8a37b535ed
commit 4649f00cab
3 changed files with 141 additions and 2 deletions

View File

@@ -1,6 +1,6 @@
import pytest
from crewai.cli.constants import ENV_VARS, MODELS, PROVIDERS
from crewai.cli.constants import ENV_VARS, JSON_URL, MODELS, PROVIDERS
def test_huggingface_in_providers():
@@ -21,3 +21,9 @@ def test_huggingface_models():
"""Test that Huggingface models are properly configured."""
assert "huggingface" in MODELS
assert len(MODELS["huggingface"]) > 0
def test_json_url_is_https():
"""Test that JSON_URL uses HTTPS for secure connection."""
assert JSON_URL.startswith("https://")
assert "raw.githubusercontent.com" in JSON_URL