You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I BELIEVE this is a bug, but I am by no means an expert in SSL/TLS. I have always put the Proxyman CA cert into certifi for python and it has worked fine in docker containers. However as of python 3.13, it fails.
I believe this is due to the change in 3.13 to be more strict about ssl.
The create_default_context() API now includes VERIFY_X509_PARTIAL_CHAIN and VERIFY_X509_STRICT in its default flags.
depth=1 C = US, L = Wilmington, O = Proxyman LLC, CN = "Proxyman CA (17 Dec 2024, nh-m3.local)", OU = https://proxyman.io, ST = Delaware
verify return:1
depth=0 C = US, L = Los Angeles, O = Internet\C2\A0Corporation\C2\A0for\C2\A0Assigned\C2\A0Names\C2\A0and\C2\A0Numbers, CN = www.example.org, ST = California
verify return:1
DONE
C = US, L = Los Angeles, O = Internet\C2\A0Corporation\C2\A0for\C2\A0Assigned\C2\A0Names\C2\A0and\C2\A0Numbers, CN = www.example.org, ST = California
error 85 at 0 depth lookup: Missing Authority Key Identifier
error stdin: verification failed
I also believe this is because the AKI in the server cert generated by proxyman is 0 rather than matching the CA.
The example is python 3.13 in docker of course. Any linux python should be the same. Mac python may be somehow magical with the mac keystore, I don't know.
The text was updated successfully, but these errors were encountered:
Putting the CA into the certifi CA and going through the proxy with httpx now passes without error.
Also, the openssl verify I noted above passes.
Previously, I also did quickly test the script in a virtual env on mac before THIS build (Proxyman_5.12.2_Add_Authority_id_key_to_the_cert.dmg) and that had the same AKI issue that I reported:
Also. I'm really enjoying using Proxyman as my proxy. Whenever I'm developing I proxy everything out of Docker containers (including TLS - without code modifications) to make sure I know what is really going on. This fix lets me continue doing that simply.
Description
I BELIEVE this is a bug, but I am by no means an expert in SSL/TLS. I have always put the Proxyman CA cert into certifi for python and it has worked fine in docker containers. However as of python 3.13, it fails.
I believe this is due to the change in 3.13 to be more strict about ssl.
https://docs.python.org/3/whatsnew/3.13.html
Steps to Reproduce
pip install httpx
cat ca-proxy-certificate.pem >> $(python -m certifi)
all_proxy=host.docker.internal:9090 python -c "import httpx; httpx.get('https://www.google.com').status_code"
I believe this check I ginned up with gpt is correct and also shows the issue, using openssl to show that the chain doesn't validate:
I also believe this is because the AKI in the server cert generated by proxyman is 0 rather than matching the CA.
Current Behavior
(shows in proxyman as a 'ssh handshake failed')
Expected Behavior
should just be a 200
Environment
The example is python 3.13 in docker of course. Any linux python should be the same. Mac python may be somehow magical with the mac keystore, I don't know.
The text was updated successfully, but these errors were encountered: