Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

L'abbinamento della carta fallisce con le versioni > 1.5.1 #107

Open
rcasta74 opened this issue Aug 17, 2024 · 6 comments
Open

L'abbinamento della carta fallisce con le versioni > 1.5.1 #107

rcasta74 opened this issue Aug 17, 2024 · 6 comments

Comments

@rcasta74
Copy link
Contributor

Sto compilando la libreria su rpi5 (aarch64) togliendo la parte di codice riguardante la firma digitale; usando l'applicativo java eseguendo l'abbinamento ottengo il seguente errore:

2024-08-17 16:18:20.367  [E] Errore inaspettato durante la comunicazione con la smart card

Riprovando l'abbinamento poi il programma crasha con:

# Problematic frame:
# C  [libcrypto.so.3+0x1f91b0]  EVP_DigestUpdate+0x10

Provando ad usare abilitacie.cpp ottengo invece il seguente errore:

2024-08-17 16:18:20:313  [ERROR] VerificaSOD - SOD sign not valid
2024-08-17 16:18:20:363  [ERROR] AbbinaCIE - Exception VerificaSOD - SOD sign not valid

Stessi errori se provo a compilare la libreria per intero usando il branch podofo-vanilla

Il problema sembra essere stato introdotto con il commit 2f8654d
Compilando la libreria al commit precedente, l'abbinamento funziona sia con il programma java sia con quello cpp.

@M0Rf30
Copy link
Owner

M0Rf30 commented Aug 19, 2024

CIao, è stato segnalato un errore relativo al mancato abbinamento e risolto con questo commit
b98d0d6

Puoi confermarmi che hai provato gli ultimi commit?

Il branch podofo-vanilla disabilita solo la firma grafica sui pdf ed elimina gli header custom di podofo, dovrebbe già fare al caso tuo.

Perchè, inoltre, dovrei prestare attenzione o usare abilitacie.cpp di opensignature? Non l'ho capito.

@rcasta74
Copy link
Contributor Author

Puoi confermarmi che hai provato gli ultimi commit?

Confermo: ho riprovato di nuovo ora includendo anche il merge della mia PR :)

Il branch podofo-vanilla disabilita solo la firma grafica sui pdf ed elimina gli header custom di podofo, dovrebbe già fare al caso tuo.

L' ho provato giusto per un ulteriore test, ma non dovrebbe cambiare nulla se compilo la libreria escludendo il codice relativo alla sign-sdk

Perchè, inoltre, dovrei prestare attenzione o usare abilitacie.cpp di opensignature? Non l'ho capito.

L' applicativo java stampa un generico messaggio di errore, mentre con abilitacie.cpp ho esattamente il messaggio dell'eccezione che viene triggerata nella libreria.

Appena ho un po' di tempo provo ad analizzare le modifiche nel commit 2f8654d che nel mio caso `e quello che ha introdotto l'errore

@rcasta74
Copy link
Contributor Author

Confermo comunque l'errore anche con l'applicativo java, abilitando a debug i log della libreria:

2024-08-19 12:25:16:878  [INFO] AbbinaCIE - Verifying SOD, digest algorithm: RSA/SHA256
2024-08-19 12:25:16:880  [ERROR] VerificaSOD - SOD sign not valid
2024-08-19 12:25:16:931  [ERROR] AbbinaCIE - Exception VerificaSOD - SOD sign not valid

Inoltre la carta viene riconosciuta come:

2024-08-19 12:25:13:439  [INFO] ReadCIEType - cie_type() CIE Gemalto detected

@rcasta74
Copy link
Contributor Author

Ho provato a revertare il commit 2f8654d ed a riapplicare le modifiche un po' per volta, sono arrivato alla conclusione che il mio problema `e dovuto alle modifiche in questi file:

libs/shared/src/Crypto/MD5.cpp
libs/shared/src/Crypto/MD5.h
libs/shared/src/Crypto/SHA1.cpp
libs/shared/src/Crypto/SHA1.h
libs/shared/src/Crypto/SHA256.cpp
libs/shared/src/Crypto/sha256.h

Revertando queste modifiche l'abbinamento funziona.
Nei prossimi giorni provo a capire il motivo per cui non funzionano nel mio caso; forse dipende dall'architettura o dalla distro.

@M0Rf30
Copy link
Owner

M0Rf30 commented Aug 20, 2024

Ho provato a revertare il commit 2f8654d ed a riapplicare le modifiche un po' per volta, sono arrivato alla conclusione che il mio problema `e dovuto alle modifiche in questi file:

libs/shared/src/Crypto/MD5.cpp
libs/shared/src/Crypto/MD5.h
libs/shared/src/Crypto/SHA1.cpp
libs/shared/src/Crypto/SHA1.h
libs/shared/src/Crypto/SHA256.cpp
libs/shared/src/Crypto/sha256.h

Revertando queste modifiche l'abbinamento funziona. Nei prossimi giorni provo a capire il motivo per cui non funzionano nel mio caso; forse dipende dall'architettura o dalla distro.

Intanto grazie per l'impegno. Giusto per curiosità: puoi elencare distro usata e versioni librerie? In particolare openssl e quelle di crittografia? Sono abbastanza impegnato in questi giorni per analizzare il problema, confido in una PR da parte tua o nei giorni che verranno

@rcasta74
Copy link
Contributor Author

distro: iArmtix Linux (una derivata di Arch Linux che non usa systemd)
openssl: 3.3.1-1
crypto++: 8.9.0-1

Nei giorni scorsi non ho avuto tempo di fare ulteriori analisi; aggiorno questa issue non appena trovo qualcosa.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants