FAQ: openssl
Trust certificate authority per firma digitale
Se si tenta di verificare la firma di un file p7m senza il certificato dell'ente certificatore (la CA), la verifica fallisce ("unable to load certificate") perché non abbiamo i certificati di fiducia della CA (i cosiddetti Trust).
Tali Certificate Authority sono state definite per legge italiana e sono registrati sul CNIPA, che dal dicembre 2009 è diventato DigitPA, come portafoglio di certificati XML e li ho trovati sullo stesso sito all'indirizzo https://applicazioni.cnipa.gov.it/TSL/_IT_TSL_signed.xml.
Per far in modo che openssl li gestisca bisogna metterli nel suo formato quindi:
Verifica della firma di un documento p7m
Consideriamo il caso in cui il documento firmato sia un pdf (documento.pdf.p7m).
Per verificare la firma ed estrarre il file contenuto utilizziamo il comando openssl con il parametro smime per la verifica della firma (-verify)
openssl smime -in documento.pdf.p7m -inform DER -verify -CAfile CA.pem -out documento.pdf
(altro…) Estrazione del certificato di un file firmato digitalmente (p7m)
Consideriamo il caso in cui il documento firmato sia un pdf (documento.pdf.p7m).
Per estrarre il certificato utilizzato per firmare il p7m utilizziamo il comando openssl con il parametro pkcs
openssl pkcs7 -inform DER -in documento.pdf.p7m -print_certs -out cert.pem
(altro…) Estrazione del contenuto di un file firmato digitalmente (p7m)
Consideriamo il caso in cui il documento firmato sia un pdf (documento.pdf.p7m).
Per estrarre il file contenuto utilizziamo il comando openssl con il parametro smime per la verifica della firma (-verify)
openssl smime -verify -noverify -in documento.pdf.p7m -inform DER -out documento.pdf
(altro…)