Sample code for 30+ languages & platforms
C#

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 C# Downloads

C#
bool success = false;

Chilkat.Rsa rsa = new Chilkat.Rsa();

//  Load the .snk and return the private key as XML.
string xmlStr = rsa.SnkToXml("./test.snk");
if (rsa.LastMethodSuccess == false) {
    Debug.WriteLine(rsa.LastErrorText);
    return;
}

Chilkat.PrivateKey privKey = new Chilkat.PrivateKey();
success = privKey.LoadXml(xmlStr);
if (success == false) {
    Debug.WriteLine(privKey.LastErrorText);
    return;
}

success = rsa.UsePrivateKey(privKey);
if (success == false) {
    Debug.WriteLine(rsa.LastErrorText);
    return;
}

//  Sign the SHA-256 hash of the utf-8 byte representation of the contents of sb
//  Return the signature in base64 format.
rsa.EncodingMode = "base64";
rsa.Charset = "utf-8";
string sigBase64 = rsa.SignStringENC("This is the text to be hashed and signed.","sha256");
if (rsa.LastMethodSuccess == false) {
    Debug.WriteLine(rsa.LastErrorText);
    return;
}

Debug.WriteLine("RSA signature as base64: " + sigBase64);