Sample code for 30+ languages & platforms
PHP ActiveX

Verify SSL Server Certificate

See more Socket/SSL/TLS Examples

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

Chilkat PHP ActiveX Downloads

PHP ActiveX
<?php

$success = 0;

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

$socket = new COM("Chilkat.Socket");

$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 . "\n";
    exit;
}

$cert = new COM("Chilkat.Cert");

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

    print 'Server Certificate:' . "\n";
    print 'Distinguished Name: ' . $cert->SubjectDN . "\n";
    print 'Common Name: ' . $cert->SubjectCN . "\n";
    print 'Issuer Distinguished Name: ' . $cert->IssuerDN . "\n";
    print 'Issuer Common Name: ' . $cert->IssuerCN . "\n";

    $bExpired = $cert->Expired;
    $bRevoked = $cert->Revoked;
    $bSignatureVerified = $cert->SignatureVerified;
    $bTrustedRoot = $cert->TrustedRoot;

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

}

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

?>