Sample code for 30+ languages & platforms
Ruby

Verify SSL Server Certificate

See more Socket/SSL/TLS Examples

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

Chilkat Ruby Downloads

Ruby
require 'chilkat'

success = false

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

socket = Chilkat::CkSocket.new()

ssl = true
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 == false)
    print socket.lastErrorText() + "\n";
    exit
end

cert = Chilkat::CkCert.new()

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

    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.get_Expired()
    bRevoked = cert.get_Revoked()
    bSignatureVerified = cert.get_SignatureVerified()
    bTrustedRoot = cert.get_TrustedRoot()

    print "Expired: " + bExpired.to_s() + "\n";
    print "Revoked: " + bRevoked.to_s() + "\n";
    print "Signature Verified: " + bSignatureVerified.to_s() + "\n";
    print "Trusted Root: " + bTrustedRoot.to_s() + "\n";

end

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