Usare dike per firmare documenti usando la smart card

Problemi e suggerimenti legati al software e ai pacchetti problematici.
Rispondi
DrRek
Newbie
Messaggi: 11
Iscritto il: 31 marzo 2019, 18:19
Architettura: x86_64 (64bit)

Usare dike per firmare documenti usando la smart card

Messaggio da DrRek » 7 ottobre 2020, 22:40

Salve,
Ho recentemente comprato una firma digitale con smart card ed un lettore. Sto provando a configurare dike in modo tale da avere la mia postazione in cui poter firmare.

Sono riuscito a far riconoscere il lettore a dike. Ma se vado nelle impostazioni > Dispositivi > Attivazione Dispositivo, inserisco il PUK e due volte il PIN e clicco su conferma ottengo un errore generico "Errore apertura libreria PCSC".

Ho spulciato tutti i possibili forum online ed installato tutte le possibili dipendenze.
Da aur: dike6, bit4id-ipki
Da repo official: ccid opensc pcsclite pscs-tools

il demone pcscd è abilitato e sembra funzionare.

Questi sono i log di dike mentre provo più volte a cliccare su conferma

Codice: Seleziona tutto

2020:10:07 22:16:44 [DEBUG][etcrypt] et_crypt_activates_card: start ...
2020:10:07 22:16:44 [INFO][etcrypt] et_card_unlock_pin: start...
2020:10:07 22:16:44 [DEBUG][etcrypt] et_card_open_session: start
2020:10:07 22:16:44 [DEBUG][etcrypt] et_card_open_session: pC_GetFunctionList OK
2020:10:07 22:16:44 [ERROR][etcrypt] et_card_open_session: C_Initialize Error 5
2020:10:07 22:16:44 [ERROR][etcrypt] et_card_open_session: error -29 - Errore apertura libreria PCSC 
2020:10:07 22:16:44 [ERROR][etcrypt] et_card_unlock_pin: error -29 - Errore apertura libreria PCSC 
2020:10:07 22:16:44 [DEBUG][ETCRYPT](do_activates_device)  RET =  -29
2020:10:07 22:16:44 [DEBUG][CONFIGWINDOW](end_enable_device) ConfigWindow::end_enable_device: -29
2020:10:07 22:17:06 [DEBUG][ETCRYPT](do_activates_device) 
2020:10:07 22:17:06 [DEBUG][etcrypt] et_crypt_activates_card: start ...
2020:10:07 22:17:06 [INFO][etcrypt] et_card_unlock_pin: start...
2020:10:07 22:17:06 [DEBUG][etcrypt] et_card_open_session: start
2020:10:07 22:17:06 [DEBUG][etcrypt] et_card_open_session: pC_GetFunctionList OK
2020:10:07 22:17:06 [ERROR][etcrypt] et_card_open_session: C_Initialize Error 5
2020:10:07 22:17:06 [ERROR][etcrypt] et_card_open_session: error -29 - Errore apertura libreria PCSC 
2020:10:07 22:17:06 [ERROR][etcrypt] et_card_unlock_pin: error -29 - Errore apertura libreria PCSC 
2020:10:07 22:17:06 [DEBUG][ETCRYPT](do_activates_device)  RET =  -29
2020:10:07 22:17:06 [DEBUG][CONFIGWINDOW](end_enable_device) ConfigWindow::end_enable_device: -29
2020:10:07 22:21:09 [DEBUG][DIKEANALYTICSUPLOADER](doWork) UPLOAD_ON_TIMER
2020:10:07 22:21:09 [DEBUG][DIKEANALYTICSUPLOADER](doUploadData) Analitics upload thread  0x7f16e0ff9640
2020:10:07 22:21:09 [DEBUG][DIKEANALYTICSUPLOADER](postToGoogle) Nothing to upload, skip
2020:10:07 22:22:47 [DEBUG][ETCRYPT](do_activates_device) 
2020:10:07 22:22:47 [DEBUG][etcrypt] et_crypt_activates_card: start ...
2020:10:07 22:22:47 [INFO][etcrypt] et_card_unlock_pin: start...
2020:10:07 22:22:47 [DEBUG][etcrypt] et_card_open_session: start
2020:10:07 22:22:47 [DEBUG][etcrypt] et_card_open_session: pC_GetFunctionList OK
2020:10:07 22:22:47 [ERROR][etcrypt] et_card_open_session: C_Initialize Error 5
2020:10:07 22:22:47 [ERROR][etcrypt] et_card_open_session: error -29 - Errore apertura libreria PCSC 
2020:10:07 22:22:47 [ERROR][etcrypt] et_card_unlock_pin: error -29 - Errore apertura libreria PCSC 
2020:10:07 22:22:47 [DEBUG][ETCRYPT](do_activates_device)  RET =  -29
2020:10:07 22:22:47 [DEBUG][CONFIGWINDOW](end_enable_device) ConfigWindow::end_enable_device: -29
2020:10:07 22:25:17 [WARNING][]() QXcbConnection: XCB error: 3 (BadWindow), sequence: 4488, resource id: 12763353, major code: 40 (TranslateCoords), minor code: 0
2020:10:07 22:26:09 [DEBUG][DIKEANALYTICSUPLOADER](doWork) UPLOAD_ON_TIMER
2020:10:07 22:26:09 [DEBUG][DIKEANALYTICSUPLOADER](doUploadData) Analitics upload thread  0x7f16e0ff9640
2020:10:07 22:26:09 [DEBUG][DIKEANALYTICSUPLOADER](postToGoogle) Nothing to upload, skip
2020:10:07 22:28:49 [DEBUG][ETCRYPT](do_activates_device) 
2020:10:07 22:28:49 [DEBUG][etcrypt] et_crypt_activates_card: start ...
2020:10:07 22:28:49 [INFO][etcrypt] et_card_unlock_pin: start...
2020:10:07 22:28:49 [DEBUG][etcrypt] et_card_open_session: start
2020:10:07 22:28:49 [DEBUG][etcrypt] et_card_open_session: pC_GetFunctionList OK
2020:10:07 22:28:49 [ERROR][etcrypt] et_card_open_session: C_Initialize Error 5
2020:10:07 22:28:49 [ERROR][etcrypt] et_card_open_session: error -29 - Errore apertura libreria PCSC 
2020:10:07 22:28:49 [ERROR][etcrypt] et_card_unlock_pin: error -29 - Errore apertura libreria PCSC 
2020:10:07 22:28:49 [DEBUG][ETCRYPT](do_activates_device)  RET =  -29
2020:10:07 22:28:49 [DEBUG][CONFIGWINDOW](end_enable_device) ConfigWindow::end_enable_device: -29
2020:10:07 22:31:09 [DEBUG][DIKEANALYTICSUPLOADER](doWork) UPLOAD_ON_TIMER
2020:10:07 22:31:09 [DEBUG][DIKEANALYTICSUPLOADER](doUploadData) Analitics upload thread  0x7f16e0ff9640
2020:10:07 22:31:09 [DEBUG][DIKEANALYTICSUPLOADER](postToGoogle) Nothing to upload, skip
Arch è aggiornato all'ultima versione.

Ho provato ad usare ltrace ed strace per cercare di capire quale fosse il nome della libreria cercata dal programma ma senza successo, qualcuno mi sa suggerire quale potrebbe essere il problema?

Avatar utente
Dusty
Little John
Messaggi: 920
Iscritto il: 12 agosto 2011, 13:15
Località: Firenze

Re: Usare dike per firmare documenti usando la smart card

Messaggio da Dusty » 8 ottobre 2020, 12:28

Premesso che non ho esperienza con la firma digitale, ma solo con la CNS, io proverei intanto
pcsc_scan
per vedere se l'accesso al dispositivo funziona.
Poi dovresti valutare l'uso di un software più aggiornato.
InfoCerd dichiara dike6 obsoleto, sostituito da Dike GoSign.

DrRek
Newbie
Messaggi: 11
Iscritto il: 31 marzo 2019, 18:19
Architettura: x86_64 (64bit)

Re: Usare dike per firmare documenti usando la smart card

Messaggio da DrRek » 8 ottobre 2020, 13:14

Dusty ha scritto:
8 ottobre 2020, 12:28
pcsc_scan
per vedere se l'accesso al dispositivo funziona.
Lo provai già, il dispositivo sembra funzionare. Ecco l'output del programma quando inserisco la card:

Codice: Seleziona tutto

[luca@luca-fisso ~]$ pcsc_scan
Using reader plug'n play mechanism
Scanning present readers...
0: Generic Smart Card Reader Interface [Smart Card Reader Interface] (20070818000000000) 00 00
 
Thu Oct  8 13:06:54 2020
 Reader 0: Generic Smart Card Reader Interface [Smart Card Reader Interface] (20070818000000000) 00 00
  Event number: 0
  Card state: Card removed, 
   
Thu Oct  8 13:06:59 2020
 Reader 0: Generic Smart Card Reader Interface [Smart Card Reader Interface] (20070818000000000) 00 00
  Event number: 1
  Card state: Card inserted, 
  ATR: 3B FF 18 00 00 81 31 FE 55 00 6B 02 09 05 03 01 01 01 43 4E 53 10 31 80 64

ATR: 3B FF 18 00 00 81 31 FE 55 00 6B 02 09 05 03 01 01 01 43 4E 53 10 31 80 64
+ TS = 3B --> Direct Convention
+ T0 = FF, Y(1): 1111, K: 15 (historical bytes)
  TA(1) = 18 --> Fi=372, Di=12, 31 cycles/ETU
    129032 bits/s at 4 MHz, fMax for Fi = 5 MHz => 161290 bits/s
  TB(1) = 00 --> VPP is not electrically connected
  TC(1) = 00 --> Extra guard time: 0
  TD(1) = 81 --> Y(i+1) = 1000, Protocol T = 1 
-----
  TD(2) = 31 --> Y(i+1) = 0011, Protocol T = 1 
-----
  TA(3) = FE --> IFSC: 254
  TB(3) = 55 --> Block Waiting Integer: 5 - Character Waiting Integer: 5
+ Historical bytes: 00 6B 02 09 05 03 01 01 01 43 4E 53 10 31 80
  Category indicator byte: 00 (compact TLV data object)
    Tag: 6, len: B (pre-issuing data)
      Data: 02 09 05 03 01 01 01 43 4E 53
    Mandatory status indicator (3 last bytes)
      LCS (life card cycle): 10 (Proprietary)
      SW: 3180 (Error not defined by ISO 7816)
+ TCK = 64 (correct checksum)

Possibly identified card (using /usr/share/pcsc/smartcard_list.txt):
3B FF 18 00 00 81 31 FE 55 00 6B 02 09 05 03 01 01 01 43 4E 53 10 31 80 64
	Bit4id J-SIGN 2048 (L) (PKI)
	https://www.bit4id.com/en/j-sign/
Dusty ha scritto:
8 ottobre 2020, 12:28
Poi dovresti valutare l'uso di un software più aggiornato.
InfoCerd dichiara dike6 obsoleto, sostituito da Dike GoSign.
Io l'ho chiamato dike6 perché è il nome che esce quando lo cerco dalla barra delle applicazioni, però quando il programma si avvia risulta "Dike GoSign" sul titolo. Comunque è il package preso da AUR (che quindi immagino usino anche molte altre persone)
In allegato uno screen

Rispondi