[macOS] Chrome fails with ERR_SSL_CLIENT_AUTH_SIGNATURE_FAILED using Spanish DNIe (CTK/Tokend issue)
I maintainer di solito rispondono entro 2 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 46/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Stack tecnologico
- c, macos
- Ambito
- authentication, security
Direzione di ricerca
Start by tracing the macOS CryptoTokenKit/Tokend integration used by Chrome and Safari; the report does not identify a source file or test. Compare its signature handling with the working PKCS#11 path in Firefox, focusing on TLS signature algorithm and PSS-padding negotiation. Done means DNIe client-certificate authentication completes in Chrome with the reported reader and card, without breaking the working Firefox path.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Bug Report
System Information:
- OS: macOS Tahoe 26.2
- OpenSC Version: 0.26.1 (Installed via DMG installer)
- Reader: ACS CCID USB Reader
- Smart Card: Spanish DNIe (DNI electrónico 3.0/4.0)
- Browser: Google Chrome (Latest stable)
Description of the Issue
I am trying to use the Spanish National ID (DNIe) to authenticate on government websites.
While OpenSC correctly detects the card and I have manually trusted the Intermediate CAs (AC DNIE 004) in the macOS Keychain, resulting in Chrome showing the certificate as "Valid" during selection, the authentication handshake fails immediately after selecting the certificate.
The Error:
Chrome displays: ERR_SSL_CLIENT_AUTH_SIGNATURE_FAILED.
It appears to be an issue with how OpenSC via the macOS CryptoTokenKit (CTK) bridge handles the signature request during the TLS handshake in Chrome (likely related to TLS 1.3 signature algorithms or PSS padding requirements not being correctly negotiated/passed to the OS).
Steps to Reproduce
- Install OpenSC via the official DMG installer on macOS.
- Connect an ACS CCID USB Reader and insert the Spanish DNIe.
- Verify detection with
opensc-tool -n(Output:dnie). - Ensure Root and Intermediate CAs (AC DNIE 004) are installed and set to "Always Trust" in macOS Keychain.
- Open Google Chrome and navigate to a site requiring client certificate authentication.
- Chrome prompts to select the certificate. Select the valid DNIe certificate.
- Result: The browser fails to complete the handshake and returns
ERR_SSL_CLIENT_AUTH_SIGNATURE_FAILED.
Logs / Technical Details
opensc-tool -n output:
Using reader with a card: ACS CCID USB Reader
dnie
security list-smartcards output:
(Shows the card is recognized by the system)
Additional Context
- Firefox works: If I use Firefox and manually load the PKCS#11 module (
/Library/OpenSC/lib/opensc-pkcs11.so), authentication works perfectly. This confirms the card, reader, and OpenSC core library are functional. - Problem is isolated to System/Chrome integration: The issue only arises when relying on the system-wide integration (CTK/Tokend) used by Chrome/Safari.
- The official proprietary driver from the Spanish Police (FNMT) does not work with this specific reader (ACS), so OpenSC is the only viable option for this hardware.
- Lingua principale
- C
- Stelle
- 3.1k
- Fork
- 858
- Merge medio
- 4g 4h
- PR unite (30g)
- 16
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di OpenSC/OpenSC
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
OpenSC/OpenSC#3881 · 2 commenti ·
I maintainer di solito rispondono entro 2 giorni
-
card lock not released in error pathForse già presa @mvogt1 l’ha presa 6 giorni fa. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 79/100
I maintainer di solito rispondono entro 2 giorni
-
Commit from 08.10.26 breaks cachingForse già presa @mvogt1 l’ha presa 6 giorni fa. Apertabug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
I maintainer di solito rispondono entro 2 giorni
-
bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 18/100
OpenSC/OpenSC#3878 · 7 commenti ·
I maintainer di solito rispondono entro 2 giorni
-
enhancement
Difficoltà 3/5 1-2 giorni Idoneità per principianti 66/100
OpenSC/OpenSC#3864 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
Tutte le issue di OpenSC/OpenSC
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
I maintainer di solito rispondono entro 8 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 90/100
I maintainer di solito rispondono entro 1 giorno
-
native-cpu: -Wreturn-type in skainet_row_threads.c:150 (worker fn has no return)Forse già presa @Doomguy-BFG9000 l’ha presa oggi. Apertagood first issue size:xs skill:native
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
SKaiNET-developers/SKaiNET#1358 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
I/O internal correctness medium priority rt_lib
Difficoltà 2/5 1-3 ore Idoneità per principianti 79/100
I maintainer di solito rispondono entro 1 giorno