Istruzioni per firmare digitalmente un PDF (PAdES compatibile)
in ambiente Linux, con OpenSSL 3 e smartcard (per esperti o sviluppatori)
-
Scarichiamo e compiliamo i seguenti software:
PoDoFo (http://podofo.sourceforge.net/)
OpenSSL ver. 3 (https://github.com/openssl/openssl)
-
Installiamo dai repository della nostra distribuzione le librerie:
libjpeg, libfreetype, libz, libpthread, libfontconfig
-
Scarichiamo da https://github.com/opensignature/pdfsign il sorgente pdfsign.cpp
e compiliamolo con:
g++ pdfsign.cpp -lpodofo -ljpeg -lfreetype -lpng -lz -lcrypto -lpthread -lfontconfig
-
Scarichiamo e compiliamo il nostro PKCS11 engine (https://github.com/opensignature/pkcs11engine).
Copiamo il file pkcs11.so dalla directory src/.lib/ su /usr/local/lib/engines-3/
-
Siamo pronti per firmare il nostro PDF.
pdfsign -in infile.pdf -module driverpkcs11 -id idkey -pin pin
N.B. se non conoscete l'ID della vostra chiave lo potete trovare con il comando:
openssl storeutl -engine pkcs11 'pkcs11:module-path=/usr/lib/driverpkcs11.so'
(ovviamente bisogna indicare il percorso del proprio driver pkcs11)
Driver PKCS#11
libbit4opki.so (Oberthur)
libbit4ipki.so (Incard)
libbit4xpki.so (Incard e Oberthur)
opensc-pkcs11.so (OpenSC)
libASEP11.so (Athena)
libeTPkcs11.so (SafeNet)
stPKCS11.so (SafeNet)
libsiecap11.so (Siemens)
Per riconoscere che tipo di carta avete guardate la forma del chip, qui di sotto i chip della carte più diffuse in Italia:
Chip Athena
Chip Incard
Chip Oberthur
Per dubbi, commenti e proposte potete usare l'email in fondo alla pagina. Altre istruzioni scritte da noi li potete trovare sul sito Saela.eu all'indirizzo: saela.eu/openssl.
lo staff di Blia.it