OpenSSL 4 removed built-in logic for SKID and AKID

Aperta
#7,617 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

@LeonxLJX ci sta già lavorando.

Dal 4/9/2026.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
48/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
python
Ambito
security, testing

Direzione di ricerca

Inizia con i Makefile e i fixture dei certificati in tests/certs/expired, tests/certs/mtls e tests/certs/valid/server, quindi riproduci il problema con i comandi make e pytest elencati. Il lavoro è completato quando i certificati generati contengono subjectKeyIdentifier e authorityKeyIdentifier e i test interessati hanno esito positivo con OpenSSL 4.0.2.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

The openssl command used to have built-in logic to automaticaly add
subjectKeyIdentifier and authorityKeyIdentifier to created certificates.
This logic vanished in OpenSSL 4.0 and the extensions are missing.

Python 3.13+ uses VERIFY_X509_STRICT to verify the certificate. Missing
those attributes is an error.

Expected Result

A certificated with SKID and AKID.

Actual Result

No SKID and AKID.

Reproduction Steps

$ openssl version
OpenSSL 4.0.2 25 Aug 2026 (Library: OpenSSL 4.0.2 25 Aug 2026)
for cert in expired mtls valid/server ; do make -C  tests/certs/$cert clean all; done
pytest -v tests/test_requests.py

And then somewhere appears

 error = SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Missing Authority Key Identifier (_ssl.c:1082)'))
 _pool = <urllib3.connectionpool.HTTPSConnectionPool object at 0x7f0a6d92a2c0>
 _stacktrace = <traceback object at 0x7f0a6dfa7a80>
....
 FAILED tests/test_requests.py::TestPreparingURLs::test_different_connection_pool_for_tls_settings_verify_bundle_unexpired_cert

I prepared https://github.com/sebastianas/requests/commit/339333739074118a93a9f496981b394e94bc1690 as a fix but can't open a pull request.

Sebastian

Lingua principale
Python
Stelle
54.7k
Fork
10.8k
Merge medio
18m
PR unite (30g)
1

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di psf/requests

Tutte le issue di psf/requests

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.