java - jsrsasign - Cómo firmar PDF con una firma/certificado x.509
jsrsasign x509 (4)
tl; dr: estoy buscando una herramienta CLI que pueda ser alimentada con un archivo x.509 y un PDF de entrada y salga un PDF firmado. El mejor escenario para NodeJS
Hola. Me estoy frustrando un poco. Estoy buscando una herramienta que pueda firmar archivos PDF usando la línea de comando. Utilizo un servicio en línea llamado handy-signatur.at (Un servicio de www.a-trust.at) que genera un certificado x.509.
Encontré una página que menciona varias herramientas, pero parece que todas están desactualizadas o que soy estúpido para que funcionen.
Intenté PortableSigner en particular, pero eso necesita Java 6 y no pude lograr que funcionara en Ubuntu (Server and Desktop edition) 17.04.
/ edit: No puedo hacer que PortableSigner funcione porque Java 6 y 7 ya no están disponibles y probablemente ni siquiera sean seguros de usar.
¿Hay alguna herramienta de línea de comandos para firmar archivos PDF?
¡Muchas gracias chicos!
Parece que PortableSigner hace el trabajo.
Si le preocupa el soporte de Java 7. Pruébelo con Java 8, probablemente las funciones de firma digital sigan funcionando porque nada importante ha cambiado entre 7 y 8
Alternativamente, la implementación de un programa de firma con Java utilizando bibliotecas como PDFBox o itext es relativamente fácil. Aquí tienes un ejemplo completo con pdfbox. Tenga en cuenta que tiene un main
uso:
java org.apache.pdfbox.examples.signature.CreateSignature
<pkcs12_keystore> <password> <pdf_to_sign>
Por lo que pude encontrar, openSSL es la única herramienta mantenida que podría admitir la entrada de un archivo x.509 y un PDF para generar un archivo PDF firmado.
Consulte la página man de openSSL para x509 .
También encontré un proyecto PortableSigner2, pero tampoco era actual.
Puede escribir sus propios scripts de Java aquí está la referencia http://wwwimages.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/AcrobatDC_js_api_reference.pdf
var myEngine = security.getHandler( "Adobe.PPKLite" );
myEngine.login( "password", "/C/Users/username/Desktop/PrivateUser.pfx" );
var myInfo = {password: "password",
reason: "SaveAs Test",
mdp: "defaultAndComments"};
this.certifyInvisibleSign({
oSig:myEngine,
oInfo:myInfo,
cDIPath:"/c/temp/sigSign.pdf",
cLegalAttest: "Certified using JavaScript",
bUI:false
});
PortableSigner es una herramienta para firmar PDFs digitalmente con certificados X.509.
Es una aplicación de Java por lo que se requiere la instalación de un JRE compatible (según el sitio web: 1.6 y 1.7).
Puede consultar el siguiente enlace para obtener la información detallada de la misma