Perl Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Perl Examples

Quick Start
Unicode
Byte Array
Bz2
Certificates
CSV
Email
Encryption
FTP
HTML-to-XML
HTTP
IMAP
MHT
MIME
POP3
RSA
S/MIME
Signatures
SMTP
Socket / SSL
Spider
SFTP
SSH Key
SSH
SSH Tunnel
Tar
HTTP Upload
XML
XMP
Zip

More Examples...
String
Email Object
DKIM / DomainKey
NTLM
FileAccess
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
DH Key Exchange
DSA
Bzip2
LZW

 

 

 

 

 

 

 

About RSA Public/Private Keys

Chilkat Module for Perl 5.8.*

Chilkat Module for Perl 5.10.*

Chilkat Module for Perl 5.8.* (x64)

Chilkat Module for Perl 5.10.* (x64)

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.