Visual FoxPro
Visual FoxPro
Create PKCS7 Signed File (.p7m)
See more Encryption Examples
Demonstrates how to sign a file to create a .p7m that contains both the file contents and the signature.Chilkat Visual FoxPro Downloads
LOCAL lnSuccess
LOCAL loCrypt
LOCAL loCertStore
LOCAL loJsonCN
LOCAL loCert
LOCAL lcInFile
LOCAL lcOutFile
lnSuccess = 0
* This example requires the Chilkat API to have been previously unlocked.
* See Global Unlock Sample for sample code.
loCrypt = CreateObject('Chilkat.Crypt2')
loCertStore = CreateObject('Chilkat.CertStore')
* Load a PFX file into a certificate store object.
lnSuccess = loCertStore.LoadPfxFile("myPfx.pfx","pfxPassword")
IF (lnSuccess <> 1) THEN
? loCertStore.LastErrorText
RELEASE loCrypt
RELEASE loCertStore
CANCEL
ENDIF
* Get the certificate by subject common name.
* This should be the cert within the PFX that also
* has a private key (also stored within the PFX).
loJsonCN = CreateObject('Chilkat.JsonObject')
loJsonCN.UpdateString("CN","myCert")
loCert = CreateObject('Chilkat.Cert')
lnSuccess = loCertStore.FindCert(loJsonCN,loCert)
IF (lnSuccess = 0) THEN
? loCertStore.LastErrorText
RELEASE loCrypt
RELEASE loCertStore
RELEASE loJsonCN
RELEASE loCert
CANCEL
ENDIF
* Tell the crypt object to use the certificate for signing:
lnSuccess = loCrypt.SetSigningCert(loCert)
* Sign a file, producing a .p7m as output.
* The input file is unchanged, the test.p7m contains the
* contents of the input file and the signature.
lcInFile = "test.txt"
lcOutFile = "testp7m"
lnSuccess = loCrypt.CreateP7M(lcInFile,lcOutFile)
IF (lnSuccess <> 1) THEN
? loCrypt.LastErrorText
RELEASE loCrypt
RELEASE loCertStore
RELEASE loJsonCN
RELEASE loCert
CANCEL
ENDIF
? "Success!"
RELEASE loCrypt
RELEASE loCertStore
RELEASE loJsonCN
RELEASE loCert