Perl
Perl
About RSA Public/Private Keys
See more RSA Examples
This example provides some additional information for understanding public/private key pairs. In demonstrates how a private key is a superset of the public key. A public key contains the modulus and exponent. The matching private key also contains the modulus and exponent, but also contains the additional private key parts.Chilkat Perl Downloads
use chilkat();
$success = 0;
$cert = chilkat::CkCert->new();
# Load a digital certificate.
$success = $cert->LoadFromFile("digitalCert.cer");
if ($success == 0) {
print $cert->lastErrorText() . "\r\n";
exit;
}
# A .cer file does not contain the private key. It should contain
# the public key...
$pubKey = chilkat::CkPublicKey->new();
$cert->GetPublicKey($pubKey);
# 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 = chilkat::CkPrivateKey->new();
$success = $privKey->LoadAnyFormatFile("PrivateKey.key","");
if ($success != 1) {
print $privKey->lastErrorText() . "\r\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";