Sample code for 30+ languages & platforms
Visual FoxPro

RSA Signature using Private Key from .snk File

See more RSA Examples

A .snk file (Strong Name Key file) is a file format used in the .NET ecosystem to store an RSA public/private key pair. This key pair is typically used for strong-naming assemblies, which is a process of signing .NET assemblies to ensure their integrity and to uniquely identify them.

This example loads a private key from a .snk file and creates an RSA signature.

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loRsa
LOCAL lcXmlStr
LOCAL loPrivKey
LOCAL lcSigBase64

lnSuccess = 0

loRsa = CreateObject('Chilkat.Rsa')

* Load the .snk and return the private key as XML.
lcXmlStr = loRsa.SnkToXml("./test.snk")
IF (loRsa.LastMethodSuccess = 0) THEN
    ? loRsa.LastErrorText
    RELEASE loRsa
    CANCEL
ENDIF

loPrivKey = CreateObject('Chilkat.PrivateKey')
lnSuccess = loPrivKey.LoadXml(lcXmlStr)
IF (lnSuccess = 0) THEN
    ? loPrivKey.LastErrorText
    RELEASE loRsa
    RELEASE loPrivKey
    CANCEL
ENDIF

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

* Sign the SHA-256 hash of the utf-8 byte representation of the contents of sb
* Return the signature in base64 format.
loRsa.EncodingMode = "base64"
loRsa.Charset = "utf-8"
lcSigBase64 = loRsa.SignStringENC("This is the text to be hashed and signed.","sha256")
IF (loRsa.LastMethodSuccess = 0) THEN
    ? loRsa.LastErrorText
    RELEASE loRsa
    RELEASE loPrivKey
    CANCEL
ENDIF

? "RSA signature as base64: " + lcSigBase64

RELEASE loRsa
RELEASE loPrivKey