Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(MFC) Verify SSL Server CertificateDemonstrates how to connect to an SSL server and verify its SSL certificate.
#include <CkSocket.h> #include <CkCert.h> void ChilkatSample(void) { CkString strOut; // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. CkSocket socket; bool ssl = true; int maxWaitMillisec = 20000; // The SSL server hostname may be an IP address, a domain name, // or "localhost". const char *sslServerHost = 0; sslServerHost = "www.paypal.com"; int sslServerPort = 443; // Connect to the SSL server: bool success = socket.Connect(sslServerHost,sslServerPort,ssl,maxWaitMillisec); if (success != true) { strOut.append(socket.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } CkCert *cert = 0; bool bExpired; bool bRevoked; bool bSignatureVerified; bool bTrustedRoot; cert = socket.GetSslServerCert(); if (socket.get_LastMethodSuccess() != false) { strOut.append("Server Certificate:"); strOut.append("\r\n"); strOut.append("Distinguished Name: "); strOut.append(cert->subjectDN()); strOut.append("\r\n"); strOut.append("Common Name: "); strOut.append(cert->subjectCN()); strOut.append("\r\n"); strOut.append("Issuer Distinguished Name: "); strOut.append(cert->issuerDN()); strOut.append("\r\n"); strOut.append("Issuer Common Name: "); strOut.append(cert->issuerCN()); strOut.append("\r\n"); bExpired = cert->get_Expired(); bRevoked = cert->get_Revoked(); bSignatureVerified = cert->get_SignatureVerified(); bTrustedRoot = cert->get_TrustedRoot(); strOut.append("Expired: "); strOut.appendInt(bExpired); strOut.append("\r\n"); strOut.append("Revoked: "); strOut.appendInt(bRevoked); strOut.append("\r\n"); strOut.append("Signature Verified: "); strOut.appendInt(bSignatureVerified); strOut.append("\r\n"); strOut.append("Trusted Root: "); strOut.appendInt(bTrustedRoot); strOut.append("\r\n"); delete cert; } // Close the connection with the server // Wait a max of 20 seconds (20000 millsec) success = socket.Close(20000); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); } |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.