{"id":26699,"library":"aia","title":"AIA - Authority Information Access chaser","description":"AIA is a Python library for chasing Authority Information Access (AIA) extensions in TLS certificate chains, building and verifying certificate paths using OpenSSL. Current version is 0.2.0, with an unknown release cadence (appears sporadically maintained).","status":"active","version":"0.2.0","language":"python","source_language":"en","source_url":"https://github.com/danilobellini/aia","tags":["tls","ssl","certificate","authority-information-access","chain-building","openssl"],"install":[{"cmd":"pip install aia","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"Required for OpenSSL bindings and certificate handling","package":"pyopenssl","optional":false}],"imports":[{"note":"No such function; correct function is 'chase'","wrong":"from aia import get_certificate_chain","symbol":"chase","correct":"from aia import chase"},{"note":"fetch_issuer_cert is in aia.fetch module, not top-level","wrong":"from aia import fetch_issuer_cert","symbol":"fetch","correct":"from aia.fetch import fetch_issuer_cert"}],"quickstart":{"code":"from aia import chase\nfrom OpenSSL import crypto\n\ncert = crypto.load_certificate(crypto.FILETYPE_PEM, open('cert.pem').read())\nchain = chase(cert, store=None)\nprint('Chain length:', len(chain))","lang":"python","description":"Load a PEM certificate and chase its AIA extension to build the issuer chain."},"warnings":[{"fix":"Pin dependency to exact version: aia==0.2.0","message":"The library is pre-1.0 and may have breaking changes between minor versions. The API surface is small but not stable.","severity":"breaking","affected_versions":"<1.0.0"},{"fix":"Install OpenSSL development headers: apt-get install libssl-dev","message":"Requires OpenSSL installed on the system (libssl-dev on Debian). Fails silently if OpenSSL not found.","severity":"gotcha","affected_versions":"all"},{"fix":"Wrap call with timeout or run in a separate thread with timeout.","message":"The 'chase' function may hang or timeout if the AIA URL is unreachable or slow. No default timeout.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Run 'pip install aia' and ensure you are using the correct Python interpreter.","cause":"The library is not installed or installed in a different environment.","error":"ImportError: No module named 'aia'"},{"fix":"Provide a proper X509Store object with trusted roots: from OpenSSL.crypto import X509Store, X509StoreContext; store = X509Store(); ...","cause":"The AIA URL returns a certificate that cannot be verified, or the root store is missing.","error":"OpenSSL.SSL.Error: [('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')]"},{"fix":"Decode bytes to string: cert_pem = open('cert.pem', 'rb').read().decode('utf-8')","cause":"Passing a bytes certificate to OpenSSL's load_certificate instead of a string.","error":"TypeError: initial_value must be str or None, not bytes"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}