Sample code for 30+ languages & platforms
Perl

Verify SSL Server Certificate

See more Socket/SSL/TLS Examples

Demonstrates how to connect to an SSL server and verify its SSL certificate.

Chilkat Perl Downloads

Perl
use chilkat();

$success = 0;

# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.

$socket = chilkat::CkSocket->new();

$ssl = 1;
$maxWaitMillisec = 20000;

# The SSL server hostname may be an IP address, a domain name,
# or "localhost". 

$sslServerHost = "www.paypal.com";
$sslServerPort = 443;

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

$cert = chilkat::CkCert->new();

$success = $socket->GetServerCert($cert);
if ($success != 0) {

    print "Server Certificate:" . "\r\n";
    print "Distinguished Name: " . $cert->subjectDN() . "\r\n";
    print "Common Name: " . $cert->subjectCN() . "\r\n";
    print "Issuer Distinguished Name: " . $cert->issuerDN() . "\r\n";
    print "Issuer Common Name: " . $cert->issuerCN() . "\r\n";

    $bExpired = $cert->get_Expired();
    $bRevoked = $cert->get_Revoked();
    $bSignatureVerified = $cert->get_SignatureVerified();
    $bTrustedRoot = $cert->get_TrustedRoot();

    print "Expired: " . $bExpired . "\r\n";
    print "Revoked: " . $bRevoked . "\r\n";
    print "Signature Verified: " . $bSignatureVerified . "\r\n";
    print "Trusted Root: " . $bTrustedRoot . "\r\n";

}

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