Programming Examples

ChilkatHOMEASPVisual BasicVB.NETC#CC++MFCDelphiFoxProJavaPerlPythonRubySQL ServerVBScript

PHP ActiveX Examples

Bounced Mail
Bz2
Certificates/Keys
Charset
CSV
DKIM / DomainKey
Diffie-Hellman
DSA
Email Object
Encryption
FileAccess
FTP
HTML Conversion
HTTP
IMAP
MHT / HTML Email
MIME
NTLM
POP3
RSA
SMTP
Socket
Spider
SSH Key
SSH
SSH Tunnel
SFTP
Tar
Upload
XML
Zip
Amazon S3


 

 

 

 

 

 

 

 

About RSA Public/Private Keys

Download 32-bit Chilkat RSA ActiveX (.msi)

Download All 32-bit Chilkat ActiveX Components (.zip)

Download All 64-bit Chilkat ActiveX Components (.zip)

<?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.