Sample code for 30+ languages & platforms
DataFlex

Verify SSL Server Certificate

See more Socket/SSL/TLS Examples

Demonstrates how to connect to an SSL server and verify its SSL certificate.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoSocket
    Boolean iSsl
    Integer iMaxWaitMillisec
    String sSslServerHost
    Integer iSslServerPort
    Variant vCert
    Handle hoCert
    Boolean iBExpired
    Boolean iBRevoked
    Boolean iBSignatureVerified
    Boolean iBTrustedRoot
    String sTemp1

    Move False To iSuccess

    // This example requires the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    Get Create (RefClass(cComChilkatSocket)) To hoSocket
    If (Not(IsComObjectCreated(hoSocket))) Begin
        Send CreateComObject of hoSocket
    End

    Move True To iSsl
    Move 20000 To iMaxWaitMillisec

    // The SSL server hostname may be an IP address, a domain name,
    // or "localhost". 

    Move "www.paypal.com" To sSslServerHost
    Move 443 To iSslServerPort

    // Connect to the SSL server:
    Get ComConnect Of hoSocket sSslServerHost iSslServerPort iSsl iMaxWaitMillisec To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoSocket To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Get Create (RefClass(cComChilkatCert)) To hoCert
    If (Not(IsComObjectCreated(hoCert))) Begin
        Send CreateComObject of hoCert
    End

    Get pvComObject of hoCert to vCert
    Get ComGetServerCert Of hoSocket vCert To iSuccess
    If (iSuccess <> False) Begin

        Showln "Server Certificate:"
        Get ComSubjectDN Of hoCert To sTemp1
        Showln "Distinguished Name: " sTemp1
        Get ComSubjectCN Of hoCert To sTemp1
        Showln "Common Name: " sTemp1
        Get ComIssuerDN Of hoCert To sTemp1
        Showln "Issuer Distinguished Name: " sTemp1
        Get ComIssuerCN Of hoCert To sTemp1
        Showln "Issuer Common Name: " sTemp1

        Get ComExpired Of hoCert To iBExpired
        Get ComRevoked Of hoCert To iBRevoked
        Get ComSignatureVerified Of hoCert To iBSignatureVerified
        Get ComTrustedRoot Of hoCert To iBTrustedRoot

        Showln "Expired: " iBExpired
        Showln "Revoked: " iBRevoked
        Showln "Signature Verified: " iBSignatureVerified
        Showln "Trusted Root: " iBTrustedRoot

    End

    // Close the connection with the server
    // Wait a max of 20 seconds (20000 millsec)
    Get ComClose Of hoSocket 20000 To iSuccess


End_Procedure