DataFlex
DataFlex
Get PDF Signer Certs
See more PDF Signatures Examples
This example demonstrates how to validate the signatures in a PDF and also shows how to getChilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoPdf
Variant vSigInfo
Handle hoSigInfo
Integer iNumSignatures
Boolean iValidated
Variant vCert
Handle hoCert
Integer i
String sTemp1
Move False To iSuccess
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
Get Create (RefClass(cComChilkatPdf)) To hoPdf
If (Not(IsComObjectCreated(hoPdf))) Begin
Send CreateComObject of hoPdf
End
// Load a PDF that has cryptographic signatures to be validated
Get ComLoadFile Of hoPdf "qa_data/pdf/sign_testing_1/helloSigned2.pdf" To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoPdf To sTemp1
Showln sTemp1
Procedure_Return
End
// Each time we verify a signature, information about the signature is written into
// sigInfo (replacing whatever sigInfo previously contained).
Get Create (RefClass(cComChilkatJsonObject)) To hoSigInfo
If (Not(IsComObjectCreated(hoSigInfo))) Begin
Send CreateComObject of hoSigInfo
End
// Iterate over each signature and validate each.
Get ComNumSignatures Of hoPdf To iNumSignatures
Move False To iValidated
Get Create (RefClass(cComChilkatCert)) To hoCert
If (Not(IsComObjectCreated(hoCert))) Begin
Send CreateComObject of hoCert
End
Move 0 To i
While (i < iNumSignatures)
Get pvComObject of hoSigInfo to vSigInfo
Get ComVerifySignature Of hoPdf i vSigInfo To iValidated
Showln "Signature " i " validated: " iValidated
// After calling VerifySignature, you can get the signer certificate by calling
// GetSignerCert with the same index.
Get pvComObject of hoCert to vCert
Get ComGetSignerCert Of hoPdf i vCert To iSuccess
If (iSuccess <> False) Begin
Get ComSubjectDN Of hoCert To sTemp1
Showln "PDF signer certificate: " sTemp1
End
Move (i + 1) To i
Loop
Showln "Finished."
End_Procedure