Chilkat
HOME
Android™
ASP
Visual Basic
VB.NET
C#
iOS (IPhone)
Objective-C
C++
C
MFC
Delphi
FoxPro
Java
Perl
PHP Extension
PHP ActiveX
Python
PowerShell
Ruby
SQL Server
VBScript
About RSA Public/Private KeysDownloads for Windows/Linux and Install Instructions require 'rubygems' require 'chilkat' cert = Chilkat::CkCert.new() # Load a digital certificate. success = cert.LoadFromFile("digitalCert.cer") if (success != true) print cert.lastErrorText() + "\n" exit end # A .cer file does not contain the private key. It should contain # the public key... # pubKey is a CkPublicKey pubKey = cert.ExportPublicKey() # Let's have a look at it (in XML format). print "Public Key from Certificate:" + "\n"; print pubKey.getXml() + "\n"; # An RSA public key consists of a modulus and exponent. # An RSA private key includes both the modulus and exponent, # as well as other "big" numbers: P, Q, D, etc. # Let's load an RSA private key from a DER-encoded file: privKey = Chilkat::CkPrivateKey.new() success = privKey.LoadRsaDerFile("PrivateKey.key") if (success != true) print privKey.lastErrorText() + "\n" exit end # If this private key is the matching half to the public key from # the certificate, then the modulus and exponent should # be identical. (Thus, a "private key" really contains both the public part as well as the private parts...). print "Private Key from DER:" + "\n"; print privKey.getXml() + "\n"; rsa = Chilkat::CkRsa.new() success = rsa.UnlockComponent("Anything for 30-day trial.") if (success != true) print rsa.lastErrorText() + "\n" exit end # You now realize that the private key really contains both # private and public parts. Therefore, we may import the private # key and the choose to use either the public or private in our # encrypt/decrypt operations: privKeyXml = privKey.getXml() success = rsa.ImportPrivateKey(privKeyXml) if (success != true) print rsa.lastErrorText() + "\n" exit end |
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.