Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
|
About RSA Public/Private Keys
use chilkat; $cert = new chilkat::CkCert(); # Load a digital certificate. $success = $cert->LoadFromFile("digitalCert.cer"); if ($success != 1) { print $cert->lastErrorText() . "\n"; exit; } # 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:" . "\r\n"; print $pubKey->getXml() . "\r\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 = new chilkat::CkPrivateKey(); $success = $privKey->LoadRsaDerFile("PrivateKey.key"); if ($success != 1) { print $privKey->lastErrorText() . "\n"; exit; } # 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:" . "\r\n"; print $privKey->getXml() . "\r\n"; $rsa = new chilkat::CkRsa(); $success = $rsa->UnlockComponent("Anything for 30-day trial."); if ($success != 1) { print $rsa->lastErrorText() . "\n"; exit; } # 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 != 1) { print $rsa->lastErrorText() . "\n"; exit; } |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.