Visual FoxPro
Visual FoxPro
PKCS7 Sign Text using RSA 2048, SHA256, Base64 Output
See more Digital Signatures Examples
Demonstrates how to sign text using 2048-bit RSA with SHA256, producing PKCS#7 output in Base64. The certificate w/ private key used for signing is loaded from a .p12/.pfx file.Chilkat Visual FoxPro Downloads
LOCAL lnSuccess
LOCAL loCert
LOCAL loCrypt
LOCAL lcTextToSign
LOCAL lcSigBase64
lnSuccess = 0
* This example requires the Chilkat API to have been previously unlocked.
* See Global Unlock Sample for sample code.
loCert = CreateObject('Chilkat.Cert')
* Load the cert and private key. Whatever the private key happens to be,
* such as RSA or ECC, then Chilkat will use it. If the private key is
* a 2048-bit RSA key, then that's what will be used..
lnSuccess = loCert.LoadPfxFile("qa_data/pfx/myCertAndKey.p12","password")
IF (lnSuccess <> 1) THEN
? loCert.LastErrorText
RELEASE loCert
CANCEL
ENDIF
loCrypt = CreateObject('Chilkat.Crypt2')
lnSuccess = loCrypt.SetSigningCert(loCert)
IF (lnSuccess <> 1) THEN
? loCrypt.LastErrorText
RELEASE loCert
RELEASE loCrypt
CANCEL
ENDIF
* Use SHA-256
loCrypt.HashAlgorithm = "sha256"
* Hash the utf-8 byte representation of the string
loCrypt.Charset = "utf-8"
* Return the result in base64
loCrypt.EncodingMode = "base64"
* Sign some text..
lcTextToSign = "This is the text to be hashed and signed."
lcSigBase64 = loCrypt.OpaqueSignStringENC(lcTextToSign)
IF (loCrypt.LastMethodSuccess <> 1) THEN
? loCrypt.LastErrorText
RELEASE loCert
RELEASE loCrypt
CANCEL
ENDIF
? lcSigBase64
* The result:
* MIIS2wYJKoZIhvcNAQc ... zGeeY4Oxg==
RELEASE loCert
RELEASE loCrypt