![]() |
Chilkat • HOME • Android™ • AutoIt • C • C# • C++ • Chilkat2-Python • CkPython • Classic ASP • DataFlex • Delphi DLL • Go • Java • Node.js • Objective-C • PHP Extension • Perl • PowerBuilder • PowerShell • PureBasic • Ruby • SQL Server • Swift • Tcl • Unicode C • Unicode C++ • VB.NET • VBScript • Visual Basic 6.0 • Visual FoxPro • Xojo Plugin
(Ruby) Get the Server Certificate, Certificate Chain, and Root CA CertificateDemonstrates how to get the HTTP server certificate, its certificate chain, and the root CA certificate.
require 'chilkat' # This example assumes the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. http = Chilkat::CkHttp.new() # We're getting the SSL/TLS certificate, so make sure to connect to the SSL/TLS port (443). # sslCert is a CkCert sslCert = http.GetServerSslCert("nationalgeographic.com",443) if (http.get_LastMethodSuccess() == false) print http.lastErrorText() + "\n"; exit end # Note: Prior to v9.5.0.50, this method would fail if the certificate chain could not # be completed to the root. Starting in v9.5.0.50, the incomplete certificate chain # will be returned. The certificate chain's ReachesRoot property can be examined to # see if the chain was completed to the root. # certChain is a CkCertChain certChain = sslCert.GetCertChain() if (sslCert.get_LastMethodSuccess() == false) print sslCert.lastErrorText() + "\n"; exit end i = 0 numCerts = certChain.get_NumCerts() while i < numCerts # cert is a CkCert cert = certChain.GetCert(i) print "SubjectDN " + i.to_s() + ": " + cert.subjectDN() + "\n"; print "IssuerDN " + i.to_s() + ": " + cert.issuerDN() + "\n"; i = i + 1 end # If the certificate chain reaches the root CA cert, then the last cert in the chain # is the root CA cert. if (certChain.get_ReachesRoot() == true) # caCert is a CkCert caCert = certChain.GetCert(numCerts - 1) print "CA Root Cert: " + caCert.subjectDN() + "\n"; end |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.