Función firmar
Si queremos firmar un documento PDF debemos llamar a la clase SignFile, la llamada será la siguiente:
java -cp "%CLASSPATH%" SignFile Hello.pdf Hello.signed.pdf
Donde Hello.pdf es el fichero PDF de entrada que queremos firmar y Hello.pdf.signed el fichero de salida que se generará con la firma.
Por otro lado puede ser que nos interese firmar otro tipo de fichero, por ejemplo un .txt. Para ello ejecutamos la siguiente orden:
java -cp "%CLASSPATH%" SignFile Hello.txt Hello.txt.p7d
De esta manera generamos una firma detached, por otro lado, si deseamos llevar acabo una firma atached debemos ejecutar el comando de la siguiente manera
java -cp "%CLASSPATH%" SignFile -a Hello.txt Hello.txt.p7a
Para automatizar el proceso seleccionando el certificado y pasando el PIN, debemos usasr el siguiente comando:
java -cp "%CLASSPATH%" es.isigma.ism.winmenu.SignFiles --certificate ".*CN=Nombre cert.*"
--pin clave --out-file ruta_fichero_salida -no-gui ruta_fichero_a_firmar
Aplicando las rutas de documento y PIN correctos.
Si quieres puedes firmar varios de golpe en una sola orden, la única regla es que tengas un flag --certificate con el certificado a continuación y otro flag --pin con la clave. Por ejemplo:
java -cp "%CLASSPATH%" es.isigma.ism.winmenu.SignFiles documento1.pdf documento2.pdf
--certificate ".*CN=EMPRESA-X .*"
--pin clave