Chilkat HOME ASP Visual Basic VB.NET C# C C++ MFC Delphi FoxPro Java Perl Python Ruby SQL Server VBScript
About RSA Public/Private Keys
<?php $cert = new COM("Chilkat.Cert"); // Load a digital certificate. $success = $cert->LoadFromFile('digitalCert.cer'); if ($success != true) { print $cert->lastErrorText() . "\n"; exit; } // A .cer file does not contain the private key. It should contain // the public key... // pubKey is a Chilkat.PublicKey $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 = new COM("Chilkat.PrivateKey"); $success = $privKey->LoadRsaDerFile('PrivateKey.key'); if ($success != true) { 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:' . "\n"; print $privKey->getXml() . "\n"; $rsa = new COM("Chilkat.Rsa"); $success = $rsa->UnlockComponent('Anything for 30-day trial.'); if ($success != true) { 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 != true) { print $rsa->lastErrorText() . "\n"; exit; } ?> |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.