Sample code for 30+ languages & platforms
Ruby

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 Ruby Downloads

Ruby
require 'chilkat'

success = false

rsa = Chilkat::CkRsa.new()

# Load the .snk and return the private key as XML.
xmlStr = rsa.snkToXml("./test.snk")
if (rsa.get_LastMethodSuccess() == false)
    print rsa.lastErrorText() + "\n";
    exit
end

privKey = Chilkat::CkPrivateKey.new()
success = privKey.LoadXml(xmlStr)
if (success == false)
    print privKey.lastErrorText() + "\n";
    exit
end

success = rsa.UsePrivateKey(privKey)
if (success == false)
    print rsa.lastErrorText() + "\n";
    exit
end

# Sign the SHA-256 hash of the utf-8 byte representation of the contents of sb
# Return the signature in base64 format.
rsa.put_EncodingMode("base64")
rsa.put_Charset("utf-8")
sigBase64 = rsa.signStringENC("This is the text to be hashed and signed.","sha256")
if (rsa.get_LastMethodSuccess() == false)
    print rsa.lastErrorText() + "\n";
    exit
end

print "RSA signature as base64: " + sigBase64 + "\n";