PCT: OpenSC usare token USB o smart-card per collegarsi al pst.giustizia.it o altri portali d’accesso da Safari e Google Chrome
Premetto che questo articolo non è farina del mio scacco ma la scoperta è dovuto al collega Roberto Alma.
Tutto è nato da una chiacchierata sul canale (segreto) Telegram di Avvocati e Mac (non siete iscritti alla newsletter o avete ascoltato le ultime puntate del podcast? 😜).
Con questo “trucco” (a dir la verità è un software open-source) è possibile accedere al pst.giustizia.it o altri portali d’accesso utilizzando browser come Safari e Chrome su macOS, in particolare con Catalina.
Cercherò di spiegare il funzionamento del tutto ma è oggettivamente fuori dalle mie capacità tecniche per cui se un esperto sta leggendo questo mio articolo è preavvertito (e nel caso sono ben disposto ad integrarlo).
AGGIORNAMENTO: Roberto ha recentemente (27/11/2020) pubblicato un articolo più dettagliato sul funzionamento di OpenSC a cui con piacere vi rimando:
Per chi non è interessato a tutto ciò può direttamente passare a come si installa OpenSC al punto 3.
1. Partiamo da quel che mi ha scritto Roberto …
Quella che segue è una ricostruzione della chat ad uso di questo articolo, non metto il virgolettato perché ho in parte modificato il testo ai soli fini della leggibilità avulsa dalla chat (per i più curiosi ed anche per avere un po' di riferimenti utili ho anche inserito link alla maggior parte dei termini “astrusi”).
[Per utilizzare Safari o Chrome con Catalina e un lettore di smartcard] … ci vuole un CryptoTokenKit plugin perché hanno eliminato definitivamente il buon vecchio Tokend praticamente Chrome /Safari / Opera accedono allo store dei certificati del sistema operativo [il c.d. Portachiavi di macOS - N.d.R.]. Firefox ha un accesso “speciale”, riesce a caricare direttamente le librerie dinamiche [qui trovate il link al mio articolo, ormai risalente, di configurazione di Firefox con le librerie dinamiche “LIBBIT4IPKI.DYLIB”].
Solo che Apple, per farla breve, ha modificato le regole del gioco. Per cui ha creato delle nuove API (CryptoTokenKit) in sostituzione del vecchio Tokend e, in sintesi, occorre un componente terzo che faccia da ponte tra l’app che ha bisogno di accedere al certificato (es. Chrome) e lo store dei certificati: questo componente esiste e si chiama OpenSC attualmente alla versione 0.20.0, scaricabile da GitHub.
Se hai Arubakey fai anche l'import dei certificati dalle utilities usando apri con il destro, perché non è notarizzato [lo sviluppatore di una applicazione deve essere registrato da Apple, in caso contrario, occorre espressamente aprire la prima volta l’app con il tasto destro e cliccare su apri ed accettare il “rischio” di installare il contenuto di un software di uno sviluppatore sconosciuto, è lo stesso problema che si ha per installare SLpct – N.d.R.]; la "Notarizzazione" è un’altra delle recenti perle della Apple. L’unica condizione è che la chiavetta sia riconosciuta come CCID) e non come HID.
Io vi posso dire che tutti i lettori di smart card [token e non – N.d.R.] sono CCID nativi e non hanno problemi.
La Arubakey nera è fondamentalmente un Bit4id-minilector-evo-s ed è CCID compliant sulle altre … “dipende”. Però potete provare a installare opensc 0.20.0 e vedere se funziona.
Questa soluzione è quindi necessaria per macoOS 10.15 (Catalina) o successivi.
La “bestia nera” è come sempre l’ArubaKey (che tuttavia non posseggo e quindi non ho potuto testare).
2. Cos'è OpenSC ?
OpenSC fornisce una serie di librerie e utilità per lavorare con le smart card. Il suo focus principale è sulle schede che supportano le operazioni crittografiche e ne facilitano l'uso in applicazioni di sicurezza come l'autenticazione, la crittografia della posta elettronica e le firme digitali. OpenSC implementa le API standard su smart card, ad es. API PKCS # 11, Minidriver per smart card di Windows e macOS CryptoTokenKit.
Nella sostanza è il collante che permette la corretta lettura dei certificati digitali (CNS) all'interno del Portachiavi di Apple e permettendo ciò fa si che Safari, Chrome e browser similari possano accedere ai certificati contenuti nella chiavetta o smart card di turno.
Allo stato ho testato positivamente, sul mio nuovo MacBook Pro 16" con macOS Catalina, due differenti token USB Infocert: la wireless key e la Business Key Lite (non più in commercio dalle ricerche che ho fatto).
3. Installazione OpenSC
Andate a questa pagina la versione 0.20.0 di OpenSC (la pagina potrebbe differire con il rilascio di nuove versioni nel futuro, alternativamente provate qui e cliccate sul link “latest release of OpenSC”, ovvero ultima versione di OpenSC) e scaricate a fondo pagina il file “OpenSC-0.20.0.dmg”.
Una volta scaricato il file DMG apritelo.
Fate click col tasto destro del mouse (o gesture equivalente su trackpad) su “OpenSC 0.20.0.pkg” e premete su Apri.
Questo vi permetterà di aprire il file PKG che, non essendo notarizzato, altrimenti non si aprirà (vedi punto 1 per i dettagli).
Presumibilmente vi troverete davanti ad un avviso del genere, cliccate su Apri.
Si aprirà l’installazione guidata di OpenSC, cliccate su continua.
E, a questo punto, cliccate sul pulsante Installa.
Inserite quindi la vostra chiavetta e se tutto sarà andato a buon fine potrete navigare da Safari o da Chrome.
Di seguito un esempio di login al pst.giustizia.it con Chrome.
Stesso discorso vale per Safari.
La cosa interessante di questo metodo, rispetto a Firefox è che e possibile cambiare dispositivo senza dover prima uscire dall'applicazione (tipico problema di Firefox).
Più avanti farò anche alcuni test con il mio lettore di smart card ed aggiornerò l’articolo.
3.1 Altri portali
Non ho aggiunto altre schermate di altri portali perché ho voluto pubblicare velocemente questo articolo rispetto alla mia abituale prassi “creativa”. Segnalo comunque che dai miei esperimenti (io abitualmente non uso il pst.giustizia.it che trovo decisamente mal fatto) tutto pare funzionare senza problemi.
Materiale di riferimento
- Home del progetto OpenSC
- macOS Quick Start
- Note della versione 0.20.0
- Come prepararsi ai cambiamenti relativi alle smart card introdotti con macOS Catalina - articolo in italiano del supporto Apple
- CryptoTokenKit materiale di supporto per gli sviluppatori, fonte Apple
- Tokend
In conclusione
Spero che quest'articolo possa essere utile a chi non vuole usare Firefox per accedere ai vari portali pubblici che richiedono l’autenticazione con una smart-card o un Token USB (la c.d. chiavetta).
Personalmente questo apre interessanti opzioni di automazione che l’uso di Firefox impediva (tuttavia devo ancora esplorarle mentre scrivo queste righe).
Se avete tempo e voglia vi chiedo di testare questo sistema sul vostro Mac e, per quanto possibile, riportare la vostra esperienza qui sotto. La mia esperienza è limitata ai dispositivi in mio possesso e non mi è possibile testarli “tutti”.
Come sempre se avete domande o richieste lasciatele qui sotto nei commenti.