Sample code for 30+ languages & platforms
Visual FoxPro

RSA Sign Using Private Key from .pfx/.p12 to Base64 Signature

See more RSA Examples

Demonstrates how to RSA sign something using a private key loaded from a .pfx/.p12. The RSA signature is returned in Base64 encoded format.

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loRsa
LOCAL loPfx
LOCAL loPrivKey
LOCAL lcStrData
LOCAL lcBase64Sig

lnSuccess = 0

* This example assumes the Chilkat API to have been previously unlocked.
* See Global Unlock Sample for sample code.

loRsa = CreateObject('Chilkat.Rsa')

* Load the .pfx/.p12
loPfx = CreateObject('Chilkat.Pfx')
lnSuccess = loPfx.LoadPfxFile("qa_data/pfx/myKey.p12","myPassword")
IF (lnSuccess = 0) THEN
    ? loPfx.LastErrorText
    RELEASE loRsa
    RELEASE loPfx
    CANCEL
ENDIF

* Get the default private key.

loPrivKey = CreateObject('Chilkat.PrivateKey')
lnSuccess = loPfx.PrivateKeyAt(0,loPrivKey)
IF (lnSuccess = 0) THEN
    ? loPfx.LastErrorText
    RELEASE loRsa
    RELEASE loPfx
    RELEASE loPrivKey
    CANCEL
ENDIF

* Import the private key into the RSA component:
lnSuccess = loRsa.UsePrivateKey(loPrivKey)
IF (lnSuccess = 0) THEN
    ? loRsa.LastErrorText
    RELEASE loRsa
    RELEASE loPfx
    RELEASE loPrivKey
    CANCEL
ENDIF

* Get the signature in base64
loRsa.EncodingMode = "base64"

lcStrData = "This is the string to be signed."

* Sign the string using the sha256 hash algorithm.
* Other valid choices are "sha384", "sha512", "sha-1", "md2" and "md5".
lcBase64Sig = loRsa.SignStringENC(lcStrData,"sha256")

? lcBase64Sig

? "Success!"

RELEASE loRsa
RELEASE loPfx
RELEASE loPrivKey