Sample code for 30+ languages & platforms
Visual FoxPro

RSA Sign using Base64 Private Key

See more RSA Examples

Signs a string using a non-encrypted RSA private key in base64 encoding. Returns the RSA signature as a base64 string.

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loPrivKey
LOCAL loSbPem
LOCAL loRsa
LOCAL loBd
LOCAL lcStrOriginal

lnSuccess = 0

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

loPrivKey = CreateObject('Chilkat.PrivateKey')

loSbPem = CreateObject('Chilkat.StringBuilder')
loSbPem.AppendLine("-----BEGIN RSA PRIVATE KEY-----",1)
loSbPem.AppendLine("MIIC .... j5A==",1)
loSbPem.AppendLine("-----END RSA PRIVATE KEY-----",1)

lnSuccess = loPrivKey.LoadPem(loSbPem.GetAsString())
IF (lnSuccess = 0) THEN
    ? loPrivKey.LastErrorText
    RELEASE loPrivKey
    RELEASE loSbPem
    CANCEL
ENDIF

loRsa = CreateObject('Chilkat.Rsa')

lnSuccess = loRsa.UsePrivateKey(loPrivKey)
IF (lnSuccess = 0) THEN
    ? loRsa.LastErrorText
    RELEASE loPrivKey
    RELEASE loSbPem
    RELEASE loRsa
    CANCEL
ENDIF

loBd = CreateObject('Chilkat.BinData')
loBd.AppendString("12345678","utf-8")

lnSuccess = loRsa.SignRawBd(loBd)
IF (lnSuccess = 0) THEN
    ? loRsa.LastErrorText
    RELEASE loPrivKey
    RELEASE loSbPem
    RELEASE loRsa
    RELEASE loBd
    CANCEL
ENDIF

* Get the base64 RSA signature.
? loBd.GetEncoded("base64")

lnSuccess = loRsa.VerifyRawBd(loBd)
IF (lnSuccess = 0) THEN
    ? loRsa.LastErrorText
    RELEASE loPrivKey
    RELEASE loSbPem
    RELEASE loRsa
    RELEASE loBd
    CANCEL
ENDIF

lcStrOriginal = loBd.GetString("utf-8")
? lcStrOriginal

RELEASE loPrivKey
RELEASE loSbPem
RELEASE loRsa
RELEASE loBd