Verifica la firma di un file pdf firmato con attributi definiti secondo lo standard PAdES-BES
Se c'è un errore nella VERIFICA del certificato questo viene riportato in output nel parametro szVerifySignatureCertificateErrorDesc
Se c'è un errore nella firma la funzione ritorna E_GENERIC_PDF_ERROR. In tal caso usa dmtGetLastPdfError per sapere quale è l'errore di verifica Della firma
Ritorna la descrizione dell'errore se viene passato un puntatore valido per il parametro szPdfErrorDesc, deve essere un puntatore a stringa allocata fuori di 200 caratteri.
int WINAPI
dmtVerifySignedPdfFileWithCadesAttributes(
HDMTOBJ hDmt, // Handle oggetto Dimatek
PCHAR szFileNameSigned, // File firmato
DWORD dwPdfSignatureIndex, // Indice della firma da controllare
BOOL fVerifySignatureCertificate, // Verifica la validità del certificato
PCHAR szPdfErrorDesc, // Descrizione dell'errore se il pdf non è valido
DIMATEK_SIGNED_INFO* pDimatekSignedInfo /*= NULL*/ //
);
Dichiarazione - C#
[DllImport("Dimatec.dll")]
public static extern int dmtVerifySignedPdfFileWithCadesAttributes(
int hDmt,
string szFileNameSigned,
integer dwPdfSignatureIndex,
boolean fVerifySignatureCertificate, // Verifica la validità del certificato
ref string szPdfErrorDesc ,
intPtr pDimatekSignedInfo );
);
hDmt - Handle della sessione generata con DmtCreate. per creare una sessione senza CSp e Certificato si può usare ad esempio per Win7 dmtcreate(0,"","",2,False))
szOriginalFileName - File originale Firmato con standard PAdes Bes da verificare
fVerifySignatureCertificate, Verifica la validità del certificato
dwPdfSignatureIndex- Indice della firma da controllare
Parametri di Output
szPdfErrorDesc - Descrizione dell'errore se è stato validato certificato o non è stato trovato nella lista dei certificati attendibili
pDimatekSignedInfo Puntatore alla struttura DIMATEK_SIGNED_INFO contenente le informazioni del certificato e della firma . Usa NULL o (IntPrt.Zero in c#) se non ti occorrono le informazioni del certificato
DMT_OK in caso di successo, altrimenti restituisce l'errore E_GENERIC_PDF_ERROR.usa dmtGetLastPdfError per conoscere i dettagli dell'errore di verifica Della firma