Sample code for 30+ languages & platforms
C#

Verify SSL Server Certificate

See more Socket/SSL/TLS Examples

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

Chilkat C# Downloads

C#
bool success = false;

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

Chilkat.Socket socket = new Chilkat.Socket();

bool ssl = true;
int maxWaitMillisec = 20000;

// The SSL server hostname may be an IP address, a domain name,
// or "localhost". 
string sslServerHost;
sslServerHost = "www.paypal.com";
int sslServerPort = 443;

// Connect to the SSL server:
success = socket.Connect(sslServerHost,sslServerPort,ssl,maxWaitMillisec);
if (success == false) {
    Debug.WriteLine(socket.LastErrorText);
    return;
}

Chilkat.Cert cert = new Chilkat.Cert();

bool bExpired;
bool bRevoked;
bool bSignatureVerified;
bool bTrustedRoot;

success = socket.GetServerCert(cert);
if (success != false) {

    Debug.WriteLine("Server Certificate:");
    Debug.WriteLine("Distinguished Name: " + cert.SubjectDN);
    Debug.WriteLine("Common Name: " + cert.SubjectCN);
    Debug.WriteLine("Issuer Distinguished Name: " + cert.IssuerDN);
    Debug.WriteLine("Issuer Common Name: " + cert.IssuerCN);

    bExpired = cert.Expired;
    bRevoked = cert.Revoked;
    bSignatureVerified = cert.SignatureVerified;
    bTrustedRoot = cert.TrustedRoot;

    Debug.WriteLine("Expired: " + Convert.ToString(bExpired));
    Debug.WriteLine("Revoked: " + Convert.ToString(bRevoked));
    Debug.WriteLine("Signature Verified: " + Convert.ToString(bSignatureVerified));
    Debug.WriteLine("Trusted Root: " + Convert.ToString(bTrustedRoot));

}

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