![]() |
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
(PureBasic) Verify SSL Server CertificateDemonstrates how to connect to an SSL server and verify its SSL certificate. Note: This example requires Chilkat v11.0.0 or greater.
IncludeFile "CkSocket.pb" IncludeFile "CkCert.pb" Procedure ChilkatExample() success.i = 0 ; This example requires the Chilkat API to have been previously unlocked. ; See Global Unlock Sample for sample code. socket.i = CkSocket::ckCreate() If socket.i = 0 Debug "Failed to create object." ProcedureReturn EndIf ssl.i = 1 maxWaitMillisec.i = 20000 ; The SSL server hostname may be an IP address, a domain name, ; or "localhost". sslServerHost.s sslServerHost = "www.paypal.com" sslServerPort.i = 443 ; Connect to the SSL server: success = CkSocket::ckConnect(socket,sslServerHost,sslServerPort,ssl,maxWaitMillisec) If success = 0 Debug CkSocket::ckLastErrorText(socket) CkSocket::ckDispose(socket) ProcedureReturn EndIf cert.i = CkCert::ckCreate() If cert.i = 0 Debug "Failed to create object." ProcedureReturn EndIf bExpired.i bRevoked.i bSignatureVerified.i bTrustedRoot.i success = CkSocket::ckGetServerCert(socket,cert) If success <> 0 Debug "Server Certificate:" Debug "Distinguished Name: " + CkCert::ckSubjectDN(cert) Debug "Common Name: " + CkCert::ckSubjectCN(cert) Debug "Issuer Distinguished Name: " + CkCert::ckIssuerDN(cert) Debug "Issuer Common Name: " + CkCert::ckIssuerCN(cert) bExpired = CkCert::ckExpired(cert) bRevoked = CkCert::ckRevoked(cert) bSignatureVerified = CkCert::ckSignatureVerified(cert) bTrustedRoot = CkCert::ckTrustedRoot(cert) Debug "Expired: " + Str(bExpired) Debug "Revoked: " + Str(bRevoked) Debug "Signature Verified: " + Str(bSignatureVerified) Debug "Trusted Root: " + Str(bTrustedRoot) EndIf ; Close the connection with the server ; Wait a max of 20 seconds (20000 millsec) success = CkSocket::ckClose(socket,20000) CkSocket::ckDispose(socket) CkCert::ckDispose(cert) ProcedureReturn EndProcedure |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.