Key Store (Firma Digitale)

La funzionalità Firma Digitale aggiunge funzionalità di firma PDF alla piattaforma LogicalDOC. Fornisce anche la generazione di certificati utente, necessari per la firma dei documenti.

LogicalDOC consente agli utenti di:

Concetti

Generalità

Che cos'è una firma digitale?

Le firme digitali identificano in modo univoco il firmatario del documento. Forniscono una simile funzionalità alle firme scritte a mano sulla carta e costituiscono un'alternativa conveniente per la firma e la scansione dei documenti quando è richiesta una versione digitale di un documento. Le firme digitali sono intese a garantire l'autenticità e l'integrità dei documenti, vale a dire verificare che l'originatore del documento o il firmatario sia quello che essi sostengono di essere e per accertare che un documento non sia stato manomesso tra il momento della firma e il successivo la visualizzazione.

Che cos'è un Certificato Digitale?

Prima di firmare un documento è necessario un certificato digitale. I certificati sono allegati ai documenti per verificare l'identità del firmatario, vale a dire che la persona che firma il messaggio è chi pretende di essere. I certificati sono rilasciati da Autorità di certificazione (CA, noto anche come emittente). Per verificare che un certificato non sia stato manomesso, deve essere convalidato contro la chiave pubblica CA. Se questa verifica è passata significa che la CA certifica l'autenticità del firmatario. I certificati digitali vengono formattati utilizzando standard PKI, il più comune di essi è X.509, che viene utilizzato anche in LogicalDOC.

Autorità di certificazione locali e root

Autorità di certificazione Root

I certificati di livello più elevato vengono creati da Autorità di certificazione Root (CA) che dovrebbero essere attendibili pubblicamente. Nessuna autorità superiore può certificare i certificati di base: questi sono i certificati di primo livello. Puoi vedere esempi di quelli nel tuo browser, sotto la sezione Autorità di certificazione / CA.

Ecco alcune delle più popolari:

Autorità di certificazione Locale

L'autorità di certificazione locale (CA) verrà utilizzata per firmare i certificati utente. Il certificato CA locale può essere firmato da un'autorità di certificazione di livello superiore oppure essere autoscritta. Un certificato CA locale può essere creato all'interno dell'istanza LogicalDOC.

Attenzione

Anche se LogicalDOC può creare una CA locale per te, è destinato ad essere solo un certificato di esempio da utilizzare per il test di installazione iniziale e non dovrebbe essere utilizzato per la firma dei documenti di produzione.

 

Catene di Certificazione

Ora consideriamo le seguenti relazioni:

I certificati root sono di solito già presenti nei visualizzatori PDF e nei browser più diffusi e, se no, possono essere aggiornati automaticamente a condizione che il software sia stato impostato correttamente.

CA-Signing contro Self-Signing

Se il certificato CA locale è stato firmato da un'autorità di certificazione, gli utenti di solito non devono installare il certificato della propria azienda nei propri browser per verificare i documenti firmati.

D'altra parte, se la tua CA locale è stata auto-firmata, il certificato CA deve essere installato manualmente nel visualizzatore PDF prima di verificare le firme. Questo deve essere fatto solo una volta per programma di visualizzazione PDF.

Configurare il Key Store

LogicalDOC gestisce un Key Store Java per ogni tenant e lo usa per mantenere tutti i certificati.

Impostare un certificato Root Locale

Entra nella sezione Amministrazione > Impostazioni > Key Store

Qui metti:

Controlla che i percorsi dei comandi esterni Keytool e OpenSSL siano corretti e premere il pulsante Generare nuovo Key Store.

Impostare un certificato CA da un'autorità di terze partiy

Per questa attività è necessario il seguente software:

1. Crea un paio di chiavi (con alias root in questo esempio).

keytool -genkey -keyalg RSA -alias root -keypass password -validity 365 -keysize 1024 -dname "cn=PDF-CA, ou=Headquarters, o=Example Organization, c=US" -keystore pdfca-keystore.jks

Ciò crea un paio di chiavi(chiave privata e pubblica) e auto-firma automaticamente.

2. Crea una richiesta di firma del certificato (CSR).

keytool -keystore pdfca-keystore.jks -storepass aaaaaa -alias alternatekey -keypass password -certreq -file pdfca.csr

3. Invia il CSR ad una nota Autorità di certificazione di terze parti di tua scelta per firmarlo.

4. Quando si riceve il pdfca.crt certificato firmato, importarlo nella propria libreria utilizzando un nuovo alias (root in questo esempio).

keytool -import -trustcacerts -alias root -file pdfca.crt -keystore pdfca-keystore.jks

Attenzione

Seguire la guida fornita dalla CA per sapere esattamente  come installare i certificati in un Key Store Java

5. Ora è possibile importare l'archivio chiave facendo clic su Importa, inserire l'Alias CA locale nello stesso alias usato nel Key Store in modo che LogicalDOC possa trovare il tuo certificato

Personalizzazione

Facoltativamente puoi scegliere di avere la firma visibile come un timbro nel documento.

Se è selezionata l'opzione Visuale, il nome dell'utente che ha firmato il file verrà visualizzato nella prima pagina del documento e queste sono le impostazioni che è possibile definire per la firma:

Variabili per Expr. X, Expr. Y e Larghezza

  • PAGE_WIDTH
  • PAGE_HEIGHT
  • PAGE_CENTER
  • PAGE_MIDDLE

Per fare riferimento a una variabile, basta inserire il segno del dollaro seguito dal nome della variabile, per centrare la firma si potrebbe scrivere così:

Expr. X: $PAGE_CENTER
Expr. Y: $PAGE_TOP + 5