Chilkat HOME Android™ ASP Visual Basic VB.NET C# iOS (IPhone) Objective-C C++ C Unicode C++ Unicode C MFC Delphi DLL Delphi ActiveX FoxPro Java Perl PHP Extension PHP ActiveX Python PowerShell Ruby SQL Server VBScript
|
About RSA Public/Private Keys
import com.chilkatsoft.*; public class ChilkatExample { static { try { System.loadLibrary("chilkat"); } catch (UnsatisfiedLinkError e) { System.err.println("Native code library failed to load.\n" + e); System.exit(1); } } public static void main(String argv[]) { CkCert cert = new CkCert(); boolean success; // Load a digital certificate. success = cert.LoadFromFile("digitalCert.cer"); if (success != true) { System.out.println(cert.lastErrorText()); return; } CkPublicKey pubKey; // A .cer file does not contain the private key. It should contain // the public key... pubKey = cert.ExportPublicKey(); // Let's have a look at it (in XML format). System.out.println("Public Key from Certificate:"); System.out.println(pubKey.getXml()); // 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: CkPrivateKey privKey = new CkPrivateKey(); success = privKey.LoadRsaDerFile("PrivateKey.key"); if (success != true) { System.out.println(privKey.lastErrorText()); return; } // 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...). System.out.println("Private Key from DER:"); System.out.println(privKey.getXml()); CkRsa rsa = new CkRsa(); success = rsa.UnlockComponent("Anything for 30-day trial."); if (success != true) { System.out.println(rsa.lastErrorText()); return; } // 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: String privKeyXml; privKeyXml = privKey.getXml(); success = rsa.ImportPrivateKey(privKeyXml); if (success != true) { System.out.println(rsa.lastErrorText()); return; } } } |
© 2000-2013 Chilkat Software, Inc. All Rights Reserved.