Desidero firmare digitalmente un file PDF utilizzando un certificato memorizzato su un token USB, HSM, ecc. Come utilizzare la chiave privata memorizzata sul token USB utilizzando JAVA?Aggiunta di una firma digitale a un PDF utilizzando Java
risposta
Sembra che tu voglia firmare digitalmente un PDF utilizzando un token USB, una smart-card o un modulo di sicurezza hardware. Questo viene fatto tramite PKCS # 11 come spiegato in http://itextpdf.com/book/digitalsignatures È possibile trovare il codice sorgente here. This è un esempio che mostra come firmare utilizzando un token USB iKey 400 di SafeNet.
Per il iText autoreferenzialità, aggiungerò
- Gnostice
- DigiSigner
- Apache PDFBox (open source)
- Java4Less (open source, basata su PDFBox)
- Adobe LiveCycle
- jPDFSecure
- Oracle Fusion
passaggi coinvolti in aggiunta di una firma digitale in un file PDF:
(I) Crea modello PDFDocument:
Crea PDFDocument con la firma del modello:
PDSignature pdSignature;
pdSignature.setByteRange(new int[]{0, 0, 0, 0});
pdSignature.setContents(new byte[n*1024]);
dove n è un numero intero, cioè mult pochi di kbs.
Nota: la dimensione del contenuto deve essere maggiore o uguale alla somma della lunghezza della firma e del file del certificato.
(II) aggiornare il modello PDF Docuement:
(a) l'aggiornamento/ByteRange [abcd]:
(i) a = Offset% in "% PDF" (= 0 , per impostazione predefinita)
(ii) b = Offset di < in "/ Contents < 000 ... 000>"
(iii) c = Offset di> in "/ Contents < 000 ... 000>"
(iv) d = Offset di F in "%% EOF" meno c di sopra
(b) sezione dell'aggiornamento riferimento esterno:
aggiornamento della tabella di riferimento incrociato (sezione xrif), che specifica la posizione degli oggetti e
(c) Aggiornamento startxref sezione:
aggiornamento startxref, che è l'offset dell'inizio della tabella di riferimenti incrociati (xrif).
(III) Generazione digitale Firma del Documento di Aggiornamento del template:
Genera del Documento di Aggiornamento del template Escludendo l'temporanea dati con segno ("000 ... 000) di"/Contents < 000 ... 000> "
(IV) aggiornamento dei contenuti <> Sezione:
sostituto Prima/"0" iniziale s di Firmato lunghezza dati in "/ Contents < 000 ... 000>" con dati firmati (Avvolto) del modello PDFFile.
Suggerimenti:
Uso SignatureInterface di PDFBox:
(a) implementare SignatureInterface al segnale di chiamata() Metodo (b) fornire l'input, i file di output, chiavi, alias, perno (c) non salvare incrment
(o) utilizzare qualsiasi libreria Java PDF (come iText ...)
(o) Implementare i gradini I-IV in Java te stesso.
- 1. TCPDF aggiunta di firma digitale al pdf creato
- 2. Genera PDF con firma digitale da nodejs
- 3. Allegare dati (biometrici) nascosti a una firma digitale su un pdf
- 4. Firma digitale con AngularJS
- 5. Come aggiungere l'immagine della firma digitale al pdf in ios?
- 6. Verifica firma digitale su Android
- 7. Controllo firma digitale su EXE
- 8. Come verificare una firma digitale di una DLL in .NET
- 9. file JavaScript con firma digitale
- 10. Aggiunta di una firma GPG a un documento già firmato?
- 11. Come creare una firma digitale in un'applicazione Web (JavaScript) utilizzando una smartcard?
- 12. Valore digerito errato per firme xml utilizzando l'API di firma digitale Java XML
- 13. Aggiunta di immagini esterne a PDF utilizzando iText
- 14. Aggiungi firma digitale a Ruby con S/MIME
- 15. Conversione da PDF a Postscript utilizzando Java
- 16. Aggiungi firma in PDF in perl
- 17. Java Aggiunta di una stringa a un array di stringhe
- 18. Specifica URI di riferimento di #Body durante la firma digitale della richiesta SOAP - utilizzando WCF
- 19. PDF per immagini utilizzando Java
- 20. aggiunta di una console a un Jframe
- 21. Verifica di una firma utilizzando go.crypto/OpenPGP
- 22. Stampa di un file PDF utilizzando PrinterJob in Java
- 23. Elasticsearch: aggiunta di mappatura manuale utilizzando Java
- 24. Verifica firma digitale con chiave pubblica in iOS
- 25. Aggiunta di link a href a un elemento utilizzando css
- 26. Aggiunta di righe a tbody di una tabella utilizzando jQuery
- 27. come generare la firma digitale con il certificato x509?
- 28. Come si firma un documento PDF utilizzando un certificato da Windows Cert Store?
- 29. Aggiunta di un valore a una tupla
- 30. Aggiunta di una matrice a un grafico?
La domanda non sembra concentrarsi sulle modifiche al documento PDF ma su come utilizzare * la chiave privata memorizzata sul token USB *. – mkl