Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PureBasic) Examine SSL/TLS Server CertificateSee more Socket/SSL/TLS ExamplesDemonstrates how an application can examine and check a server's SSL/TLS certificate.
IncludeFile "CkSocket.pb" IncludeFile "CkCert.pb" Procedure ChilkatExample() ; This example assumes 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 ; Connect to a server. useTls.i = 1 maxWaitMs.i = 2000 success.i = CkSocket::ckConnect(socket,"www.intel.com",443,useTls,maxWaitMs) If success = 0 Debug CkSocket::ckLastErrorText(socket) CkSocket::ckDispose(socket) ProcedureReturn EndIf ; If we get here, the TLS connection ws made.. ; In any SSL/TLS handshake, the server sends its certificate in a TLS handshake message. ; Chilkat will keep it cached within the object that made the connection. ; Get the server's cert and examine a few things. cert.i = CkSocket::ckGetSslServerCert(socket) If CkSocket::ckLastMethodSuccess(socket) = 0 ; This is unexpected.. Debug CkSocket::ckLastErrorText(socket) CkSocket::ckDispose(socket) ProcedureReturn EndIf 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) Debug "Expired: " + Str(CkCert::ckExpired(cert)) Debug "Revoked: " + Str(CkCert::ckRevoked(cert)) Debug "Signature Verified: " + Str(CkCert::ckSignatureVerified(cert)) Debug "Trusted Root: " + Str(CkCert::ckTrustedRoot(cert)) ; Sample output: ; Distinguished Name: C=US, ST=California, O=Intel Corporation, CN=*.intel.com ; Common Name: *.intel.com ; Issuer Distinguished Name: C=GB, ST=Greater Manchester, L=Salford, O=Sectigo Limited, CN=Sectigo RSA Organization Validation Secure Server CA ; Issuer Common Name: Sectigo RSA Organization Validation Secure Server CA ; Expired: False ; Revoked: False ; Signature Verified: True ; Trusted Root: True CkCert::ckDispose(cert) CkSocket::ckDispose(socket) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.