Chilkat Examples

ChilkatHOMEAndroid™Classic ASPCC++C#Mono C#.NET Core C#C# UWP/WinRTDataFlexDelphi ActiveXDelphi DLLVisual FoxProJavaLianjaMFCObjective-CPerlPHP ActiveXPHP ExtensionPowerBuilderPowerShellPureBasicPythonRubySQL ServerSwiftTclUnicode CUnicode C++Visual Basic 6.0VB.NETVB.NET UWP/WinRTVBScriptXojo PluginNode.jsExcel

Perl Examples

ASN.1
Amazon S3
Amazon S3 (new)
Amazon SES
Amazon SNS
Amazon SQS
Async
Azure Cloud Storage
Azure Service Bus
Bounced Email
CSV
Certificates
Compression
DKIM / DomainKey
DSA
Diffie-Hellman
Digital Signatures
Dropbox
ECC
Email Object
Encryption
FTP
Facebook
Firebase
GeoOp
Google APIs
Google Cloud Storage
Google Drive
Gzip
HTML-to-XML/Text
HTTP
HTTP Misc

IMAP
JSON
Java KeyStore (JKS)
Jwt
MHT / HTML Email
MIME
NTLM
OAuth1
OAuth2
OpenSSL
PEM
PFX/P12
POP3
PRNG
PayPal
Peoplevox
QuickBooks
REST
RSA Encryption
SCP
SFTP
SMTP
SSH
SSH Key
SSH Tunnel
Socket/SSL/TLS
Spider
Stream
Tar Archive
Twitter
XML
XMP
Xero
Zip
curl

 

 

 

(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, Solaris, and FreeBSD

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 Cert
$cert = $certStore->FindCertBySubjectCN("Chilkat Software, Inc.");
if ($cert eq null ) {
    print $certStore->lastErrorText() . "\r\n";
    exit;
}

$success = $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 ($socket->get_LastMethodSuccess() != 1) {
    print $socket->lastErrorText() . "\r\n";
    exit;
}

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

print $receivedMsg . "\r\n";

 

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