ExtractSignatureDetailsFromDocument

<< Fare clic per visualizzazione il sommario >>

Percorso:  API di piattaforma > JamioPlug > JamioPlug Document Automation > Firma elettronica >

ExtractSignatureDetailsFromDocument

Analizza un file firmato ed estrae i dettagli sintetici e analitici delle firme apposte, riportando eventuali informazioni disponibili nel report di firma.

 

Metodo

PlugDocumentAutomation /ExtractSignatureDetailsFromDocument

 

Input

Nome

Descrizione

Tipo

Opzionale

serverAddress

Indirizzo server da un Dominio esterno (per il Dominio della sessione corrente, utilizzare nullo o vuoto).

String

Y

token

Token di sessione (per la sessione corrente nel dominio corrente potrebbe essere null o vuoto).

String

Y

resourceReference

Collegamento alla risorsa contenente il file da analizzare.

Può essere un riferimento ad un Attachment, un Componente File, un allegato di processo, un Documento o un'altra risorsa contenente allegati.

Se la risorsa è di tipo Document e contiene più componenti file viene utilizzato:

il componente principale se è di tipo File;

in assenza di componente principale, deve esserci un solo componente di tipo File.

Se la risorsa contiene una lista di attachments, deve esserci un solo file.

Reference

 

testMode

True se è richiesta l'esecuzione del metodo in modalità test. Se non specificato, viene effettuata l'esecuzione del metodo in modalità live.

Boolean

Y

Output

 

Nome

Descrizione

Tipo

 

returnValue

Restituisce un dato strutturato che contiene i seguenti campi:

SignatureForm: di tipo testo, può assumere i valori "cades", "pades" or "xades";

Result: di tipo testo, può assumere i valori "ok", "warning" or "error";

ReportString: di tipo testo, JSON contenente tutte le informazioni relative all'analisi della firma;

ReportFile: ti tipo Collegamento al file JSON contenente tutte le informazioni relative all'analisi della firma;

Count: di tipo intero, che riporta il numero di firme apposte sul documento;

Signatures: lista di dati strutturati che riportano per ogni firma apposta sul documento:

osubject, di tipo testo, le informazioni complessive relative al firmatario (il "Soggetto") in un unico blocco di testo;

ogivenName, di tipo testo, il nome proprio del titolare. Può essere riferito ad una persona fisica, un'organizzazione o una persona che appartiene ad un'organizzazione;

osurname, di tipo testo, il cognome del titolare. Può essere riferito ad una persona fisica, un'organizzazione o una persona che appartiene ad un'organizzazione;

oserialNumber, di tipo testo, un codice identificativo univoco. In Italia, per le persone fisiche, contiene il Codice Fiscale preceduto dalla stringa TINIT- (Tax Identification Number Italy), che serve a standardizzare il dato a livello europeo;

oorganization, di tipo testo, il nome dell'azienda, ente pubblico o società a cui appartiene il firmatario (es. Rossi S.r.l.), se la firma è di tipo aziendale/professionale;

oorganizationIdentifier, di tipo testo, l'identificativo fiscale dell'azienda. Segue lo standard europeo: VATIT- (Partita IVA italiana) seguito dal numero numerico;

ovalidFrom, di tipo testo, la data e l'ora esatta in cui il certificato di firma ha iniziato a essere legalmente valido;

ovalidTo, di tipo testo, la data e l'ora esatta in cui scade la validità del certificato di firma;

osignatureResult, di tipo testo, il risultato della verifica crittografica. Indica se la firma è intatta o se il documento è stato alterato dopo la firma;

osigningTime, di tipo testo, la data e ora di apposizione della firma;

ovalidationSignatureResult, di tipo testo, l'esito finale della conformità legale della firma (es. valida, non valida, sconosciuta);

ovalidationSignatureMessage, di tipo testo, un messaggio testuale che spiega l'esito della firma (es. "La firma è valida e soddisfa i requisiti del regolamento eIDAS").

ovalidationSignatureId, di tipo testo, un codice tecnico interno che mappa lo stato specifico di quella firma;

ovalidationCertificateMessage, di tipo testo, lo stato del certificato del firmatario (es. specifica se è attivo, scaduto o se è stato revocato/sospeso prima della scadenza);

ovalidationCertificateId, di tipo testo, il codice che indica lo stato del certificato del firmatario (es. specifica se è attivo, scaduto o se è stato revocato/sospeso prima della scadenza);

ovalidationIssuerMessage, di tipo testo, il responso sui controlli effettuati sull'Ente Certificatore. Conferma se chi ha rilasciato la firma è ancora una Certification Authority autorizzata e inclusa negli elenchi ufficiali europei (Trusted List);

ovalidationIssuerId, di tipo testo, il codice che indica il responso sui controlli effettuati sull'Ente Certificatore. Conferma se chi ha rilasciato la firma è ancora una Certification Authority autorizzata e inclusa negli elenchi ufficiali europei (Trusted List);

oissuer, di tipo testo, la stringa testuale completa che descrive l'autorità di certificazione;

oissuerOrganization, di tipo testo, il nome dell'Ente Certificatore che ha emesso e garantito il certificato (es. Aruba, InfoCert, Poste Italiane);

oissuerOrganizationIdentifier, di tipo testo, la Partita IVA o il codice identificativo europeo dell'Ente Certificatore;

oissuerCountry, di tipo testo, la nazione di appartenenza del certificatore (es. IT per l'Italia);

osignatureWarningId, di tipo testo, un codice di avviso (Warning). Se valorizzato, indica un'anomalia non bloccante, ma da verificare (es. la firma è valida ma è stata usata una marca temporale non standard, oppure il certificato è scaduto dopo che il documento era già stato firmato).

 

In modalità testMode = True, viene generato un returnvalue di default con i seguenti valori:

 

{ "subject", "SURNAME=Rossi, GIVENNAME=Mario,CN=Mario Rossi, SERIALNUMBER=BRCRNN80T45A048Q, DN=AG123BD" },

{ "givenName", "Mario" },

{ "surname", "Rossi" },

{ "serialNumber", "BRCRNN80T45A048Q" },

{ "organization", "" },

{ "organizationIdentifier", "" },

{ "validFrom", "2021-03-08T09:21:09Z" },

{ "validTo", "2046-03-02T09:21:09Z" },

{ "signatureResult", "ok" },

{ "signingTime", "2025-06-03T09:08:07Z" },

{ "validationSignatureResult", "ok" },

{ "validationSignatureMessage", "Valido" },

{ "validationSignatureId", "validation.valid" },

{ "validationCertificateMessage", "Valido" },

{ "validationCertificateId", "validation.valid" },

{ "validationIssuerMessage", "Valido" },

{ "validationIssuerId", "validation.valid" },

{ "issuer", "C=IT,L=Arezzo,O=ArubaPEC S.p.A., organizationIdentifier=VATIT-01879020517, OU=Qualified Trust Service Provider, CN=ArubaPEC EU Qualified Certificates CA G1" },

{ "issuerOrganization", "ArubaPEC S.p.A." },

{ "issuerOrganizationIdentifier", "VATIT-01879020517" },

{ "issuerCountry", "IT" },

{ "signatureWarningId", "" }

Dataset

 

 

Commenti

L’estrazione delle informazioni del firmatario avviene navigando il rapporto di firma, individuando il certificato associato alla firma e leggendo, ove presenti, le proprietà interne del certificato.

In presenza di firme Matrioska CAdES su CAdES o CAdES su PAdES, la funzionalità analizza esclusivamente la firma esterna e non estrae informazioni sulle firme interne.

Firme successive in PAdES e firme parallele in CAdES vengono, invece, gestite.

 

Il metodo si comporta come segue:

Restituisce

Condizione

Errore

PLUG_NotASignedDocument

Se il file referenziato in resourceReference non contiene firme.

 

Autorizzazioni

Per eseguire il metodo è necessario possedere il permesso di Lettura sulla risorsa referenziata dal collegamento identityReference.