Quizá te toca desarrollar un sistema que envía facturas, comprobantes de pago, turnos o contratos, todos documentos digitales que te interesa validar que no te los alteren o falsifiquen. Si los generás en PDF y estás trabajando en JAVA, este post es para vos.
¿Por qué firma digital?
Se conoce como firma digital a la herramienta de software que nos permite validar la integridad y autoría de un documento digital, de forma de agregar una seguridad a la información que de alguna manera es crítica para tu negocio. ¿Cómo lo podemos implementar?
Te presentamos PDFBox Signature API, una librería bajo licencia de Apache que envuelve la propia implementación de referencia de PDFBox de Apache para facilitar la firma digital de docuentos PDF a través de certificados PFX.
¡Funciona para la JDK 11!
Instalación
Fácil y rápido, si usás Maven agregate esta dependencia al POM:
<dependency>
<groupId>com.somospnt</groupId>
<artifactId>pdfbox-signature-api</artifactId>
<version>1.0.0</version>
</dependency>
Uso
La librería expone un API pública donde, utilizando InputStream y OutputStream, vas a poder firmar el documento en una línea, como nos gusta:
FileInputStream inputStream = new FileInputStream(INPUT_FILE);
FileOutputStream outputStream = new FileOutputStream(OUTPUT_FILE);
Signer signer = new Signer(KEYSTORE_PATH, PASSWORD, LOCATION, REASON);
signer.sign(inputStream, outputStream);
Si necesitás más info vas a poder encontrar un ejemplo en los sources de test de la libería.
¡Envianos un mail a Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo. y contanos como te resultó usarla! ¡Saludos!