PureBasic
PureBasic
Verify SSL Server Certificate
See more Socket/SSL/TLS Examples
Demonstrates how to connect to an SSL server and verify its SSL certificate.Chilkat PureBasic Downloads
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