Istruzioni per firmare digitalmente un PDF (PAdES compatibile)

in ambiente Linux, con OpenSSL 3 e smartcard (per esperti o sviluppatori)

  1. Scarichiamo e compiliamo i seguenti software:
    PoDoFo (http://podofo.sourceforge.net/)
    OpenSSL ver. 3 (https://github.com/openssl/openssl)

  2. Installiamo dai repository della nostra distribuzione le librerie:
    libjpeg, libfreetype, libz, libpthread, libfontconfig

  3. 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

  4. 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/

  5. 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


Blia.it NON utilizza cookie (v. informativa)

Per contattare la redazione di Blia.it potete scrivere a: info@blia.it
(attenzione, blia.it non ha nessun rapporto con banche, scuole o altri enti/aziende, i cui indirizzi sono visualizzati al solo scopo di rendere un servizio agli utenti del sito)