Visual FoxPro
Visual FoxPro
Sign a Byte Array to Create a Detached Signature in a Byte Array
See more Digital Signatures Examples
Signs data contained in a byte array to produce a detached signature (also in a byte array). Also shows how to verify the signature.Chilkat Visual FoxPro Downloads
LOCAL lnSuccess
LOCAL loCert
LOCAL loFac
LOCAL loFileBytes
LOCAL loCrypt
LOCAL loSigBytes
LOCAL lnVerified
lnSuccess = 0
* This example requires the Chilkat API to have been previously unlocked.
* See Global Unlock Sample for sample code.
loCert = CreateObject('Chilkat.Cert')
lnSuccess = loCert.LoadPfxFile("qa_data/pfx/cert_test123.pfx","test123")
IF (lnSuccess = 0) THEN
? loCert.LastErrorText
RELEASE loCert
CANCEL
ENDIF
loFac = CreateObject('Chilkat.FileAccess')
loFileBytes = loFac.ReadEntireFile("qa_data/pdf/sample.pdf")
IF (loFac.LastMethodSuccess <> 1) THEN
? loFac.LastErrorText
RELEASE loCert
RELEASE loFac
CANCEL
ENDIF
loCrypt = CreateObject('Chilkat.Crypt2')
lnSuccess = loCrypt.SetSigningCert(loCert)
* We can sign any type of file.
* The result is a detached signature (a signature that does not contain the data being signed).
loSigBytes = loCrypt.SignBytes(loFileBytes)
IF (loCrypt.LastMethodSuccess <> 1) THEN
? loCrypt.LastErrorText
RELEASE loCert
RELEASE loFac
RELEASE loCrypt
CANCEL
ENDIF
lnSuccess = loFac.WriteEntireFile("qa_output/sample.pdf.p7s",loSigBytes)
IF (loFac.LastMethodSuccess <> 1) THEN
? loFac.LastErrorText
RELEASE loCert
RELEASE loFac
RELEASE loCrypt
CANCEL
ENDIF
* We can verify the detached signature like this
lnVerified = loCrypt.VerifyBytes(loFileBytes,loSigBytes)
IF (loCrypt.LastMethodSuccess <> 1) THEN
? loCrypt.LastErrorText
RELEASE loCert
RELEASE loFac
RELEASE loCrypt
CANCEL
ENDIF
? "Verified = " + STR(lnVerified)
RELEASE loCert
RELEASE loFac
RELEASE loCrypt