Sample code for 30+ languages & platforms
Ruby

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

Ruby
require 'chilkat'

success = false

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

rsa = Chilkat::CkRsa.new()

# Load the .pfx/.p12
pfx = Chilkat::CkPfx.new()
success = pfx.LoadPfxFile("qa_data/pfx/myKey.p12","myPassword")
if (success == false)
    print pfx.lastErrorText() + "\n";
    exit
end

# Get the default private key.

privKey = Chilkat::CkPrivateKey.new()
success = pfx.PrivateKeyAt(0,privKey)
if (success == false)
    print pfx.lastErrorText() + "\n";
    exit
end

# Import the private key into the RSA component:
success = rsa.UsePrivateKey(privKey)
if (success == false)
    print rsa.lastErrorText() + "\n";
    exit
end

# Get the signature in base64
rsa.put_EncodingMode("base64")

strData = "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".
base64Sig = rsa.signStringENC(strData,"sha256")

print base64Sig + "\n";

print "Success!" + "\n";