Chilkat Examples

ChilkatHOMEAndroid™Classic ASPCC++C#Delphi ActiveXDelphi DLLVisual FoxProJavaMFCObjective-CPerlPHP ActiveXPHP ExtensionPowerShellPythonRubySQL ServerUnicode CUnicode C++Visual Basic 6.0VB.NETVBScript

Perl Examples

Certificates
Email Object
Encryption
FTP
HTML-to-XML/Text
Gzip
HTTP
IMAP
MHT / HTML Email
PFX/P12
Java KeyStore (JKS)
POP3
RSA Encryption
MIME
SMTP
Socket/SSL/TLS
SSH Key
SSH
SFTP
Tar Archive
XML
XMP
Zip

More Examples...
Amazon S3
Bounced Email
CSV
Diffie-Hellman
DKIM / DomainKey
NTLM

 

 

 

 

 

 

 

(Perl) SSL Client Certificate

Demonstrates how to connect to an SSL server using a client-side certificate, send a simple message, receive a simple response, and disconnect.

Chilkat Perl Downloads

Perl Module for Windows, Linux, MAC OS X

use chilkat();

$socket = new chilkat::CkSocket();

$success = $socket->UnlockComponent("Anything for 30-day trial");
if ($success != 1) {
    print $socket->lastErrorText() . "\r\n";
    exit;
}

#  Create an instance of a certificate store object, load a PFX file,
#  locate the certificate we need, and use it for signing.
#  (a PFX file may contain more than one certificate.)
$certStore = new chilkat::CkCertStore();
#  The 1st argument is the filename, the 2nd arg is the
#  PFX file's password:
$success = $certStore->LoadPfxFile("chilkat_secret.pfx","secret");
if ($success != 1) {
    print $certStore->lastErrorText() . "\r\n";
    exit;
}

# cert is a CkCert
$cert = $certStore->FindCertBySubjectCN("Chilkat Software, Inc.");
if ($cert eq null ) {
    print $certStore->lastErrorText() . "\r\n";
    exit;
}

$socket->SetSslClientCert($cert);

$ssl = 1;
$maxWaitMillisec = 20000;

#  The SSL server hostname may be an IP address, a domain name,
#  or "localhost".  You'll need to change this:

$sslServerHost = "123.123.88.88";
$sslServerPort = 8123;

#  Connect to the SSL server:
$success = $socket->Connect($sslServerHost,$sslServerPort,$ssl,$maxWaitMillisec);
if ($success != 1) {
    print $socket->lastErrorText() . "\r\n";
    exit;
}

#  Set maximum timeouts for reading an writing (in millisec)
$socket->put_MaxReadIdleMs(20000);
$socket->put_MaxSendIdleMs(20000);

#  Send a "Hello Server! -EOM-" message:
$success = $socket->SendString("Hello Server! -EOM-");
if ($success != 1) {
    print $socket->lastErrorText() . "\r\n";
    exit;
}

#  The server (in this example) is going to send a "Hello Client! -EOM-"
#  message.  Read it:

$receivedMsg = $socket->receiveUntilMatch("-EOM-");
if ($receivedMsg eq null ) {
    print $socket->lastErrorText() . "\r\n";
    exit;
}

#  Close the connection with the server
#  Wait a max of 20 seconds (20000 millsec)
$socket->Close(20000);

print $receivedMsg . "\n";
 

© 2000-2014 Chilkat Software, Inc. All Rights Reserved.