Ruby Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Ruby
Examples

Quick Start
Ruby Unicode
Ruby Byte Array
Ruby Certs
Ruby Email
Ruby Encryption
Ruby FTP
HTML-to-XML
Ruby HTTP
Ruby IMAP
Ruby MHT
Ruby MIME
Ruby S/MIME
Ruby Signatures
Ruby RSA
Ruby Socket
Ruby Spider
Ruby Tar
Ruby Upload
Ruby XML
Ruby XMP
Ruby Zip

More Examples...
String
Email Object
POP3
SMTP
RSS
Atom
Self-Extractor

Unreleased...
Service
PPMD
Deflate
Bzip2
LZW
Bz2
DH Key Exchange
DSA
Icon

 

 

 

 

 

 

 

Generate RSA Key and Sign a String

Demonstrates how to generate a new RSA public/private key pair and use it to generate a signature for a string. The (binary) digital signature is returned as a hexidecimalized string.

Download Chilkat Ruby Library

require 'chilkat'

rsa = Chilkat::CkRsa.new()

#  Any string argument automatically begins the 30-day trial.
success = rsa.UnlockComponent("30-day trial")
if (success != true)
    print "RSA component unlock failed" + "\n"
    exit
end

#  Generate a 1024-bit RSA key pair.
rsa.GenerateKey(1024)

#  This example will sign a string, and receive the signature
#  in a hex-encoded string.  Therefore, set the encoding mode
#  to "hex":
rsa.put_EncodingMode("hex")

strData = "This is the string to be signed."

#  Sign the string using the  md5 hash algorithm.
#  Other valid choices are "md2" and "sha-1".
hexSig = rsa.signStringENC(strData,"md5")

print hexSig + "\n";
print rsa.lastErrorText() + "\n";

#  Now verify the signature:
success = rsa.VerifyStringENC(strData,"md5",hexSig)
if (success == true)
    print "Signature verified!" + "\n"
else
    print rsa.lastErrorText() + "\n";
end

#  Try it with an invalid signature:
success = rsa.VerifyStringENC(strData,"md5","not a valid sig")
if (success == true)
    print "Signature verified!" + "\n"
else
    print rsa.lastErrorText() + "\n";
end

#  Try it with invalid data:
success = rsa.VerifyStringENC("Not the original data","md5",hexSig)
if (success == true)
    print "Signature verified!" + "\n"
else
    print rsa.lastErrorText() + "\n";
end

#  Try it with the wrong hash algorithm:
success = rsa.VerifyStringENC(strData,"sha-1",hexSig)
if (success == true)
    print "Signature verified!" + "\n"
else
    print rsa.lastErrorText() + "\n";
end

 

Need a specific example? Send a request to support@chilkatsoft.com

© 2000-2007 Chilkat Software, Inc. All Rights Reserved.