--- id: aia version: "0.2.0" license: 2-clause BSD license_treatment: permissive maintenance: dormant --- # aia — AIA chasing through OpenSSL for TLS certificate chain building and verifying License: permissive · Maintenance: dormant · Downloads: 218.8K/mo ## What it is and what it does AIA is a Python library that solves a specific TLS problem: when a web server doesn't send the complete certificate chain (excluding only the root), standard validation fails. This library fetches the missing intermediate certificates by reading the AIA extension in each certificate and validating the chain through OpenSSL, then caches results in memory to avoid re-validating the same certificates. It provides multiple integration points: a simple `AIASession` wrapper around `urllib.request.urlopen`, methods to extract validated certificate chains as PEM data, and SSL context objects compatible with `requests`, `httpx`, and other HTTP libraries. The library is intentionally narrow—it handles only the certificate-chain problem, not general HTTP functionality—and works synchronously, though the description shows patterns for wrapping it in async code. Use it for: - Validate HTTPS connections to servers with incomplete certificate chains when you cannot modify the server configuration. - Build a validated certificate chain for use with third-party HTTP libraries like requests or httpx that need explicit certificate verification. - Cache and reuse validated certificate chains in memory across multiple requests to the same server within a session. - Work around CPython's lack of automatic AIA chasing in environments where upgrading the server or using a proxy is not an option. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Builds and validates TLS certificate chains by fetching missing intermediate certificates via the AIA (Authority Information Access) extension, working around CPython issue 18617 where servers don't provide the full chain. Yes, but only if you have a specific server-certificate-chain problem and cannot fix it upstream. The package is narrow, low-friction to install, and has no dependencies beyond OpenSSL. However, its pre-alpha status and dormant maintenance (last release 2021-11-27) mean no active support or updates; use it as a workaround, not a long-term solution. No known vulnerabilities. ## Install pip install aia uv add aia poetry add aia ## Installing aia Before you install: Low install friction with no runtime dependencies. Maintenance is dormant—last release was 2021-11-27 and last commit 2024-06-03—so expect no active bug fixes or updates, though the codebase remains archived and available. License in practice: Licensed under 2-clause BSD (permissive), so you can use, modify, and distribute freely with minimal restrictions, provided you include the license text. Quickstart: pip install aia from aia import AIASession aia_session = AIASession() response = aia_session.urlopen("https://example.com") OpenSSL must be installed as an external system dependency; certificate fetching and validation are blocking operations, so async use requires a workaround like asyncio.run_in_executor(). Verify before relying: - Whether the package works reliably with modern Python versions beyond 3.9, given its pre-alpha status and dormant maintenance. - Whether OpenSSL version requirements or compatibility issues exist that might affect installation on specific systems. - Real-world success rate when chasing AIA chains for servers with complex or non-standard certificate configurations. ## Package facts - License: 2-clause BSD (permissive) - Python support: supports_current - Install friction: low - Maintenance: dormant - Downloads: 218.8K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags TLS certificate chain validation, AIA chasing SSL certificates, missing intermediate certificates, certificate chain building, OpenSSL certificate verification, HTTPS certificate validation, incomplete server certificate chain, tls-certificates, ssl-validation, workaround [View on SkillFed](https://skillfed.io/packages/aia) · [View on PyPI](https://pypi.org/project/aia/)