Sample code for 30+ languages & platforms
DataFlex

Get Certificate Valid To/From Dates

Demonstrates how to get the certificate "valid from" and "valid to" dates.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoCert
    Handle hoCkdt
    Variant vDt
    Handle hoDt
    String sTemp1
    Integer iTemp1
    Integer iTemp2
    Integer iTemp3
    Integer iTemp4
    Integer iTemp5

    Move False To iSuccess

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

    Get ComLoadFromFile Of hoCert "qa_data/certs/testCert.cer" To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoCert To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    // Get the certificate valid-from date/time
    Get Create (RefClass(cComCkDateTime)) To hoCkdt
    If (Not(IsComObjectCreated(hoCkdt))) Begin
        Send CreateComObject of hoCkdt
    End
    Get ComValidFromStr Of hoCert To sTemp1
    Get ComSetFromRfc822 Of hoCkdt sTemp1 To iSuccess

    // Get the local timestamp string.
    Get ComGetAsTimestamp Of hoCkdt True To sTemp1
    Showln "Valid from: " sTemp1
    // Valid from: 2017-03-17T19:00:00-05:00

    // Now get the date/time as another object where we can get the individual numeric date parts.
    Get Create (RefClass(cComChilkatDtObj)) To hoDt
    If (Not(IsComObjectCreated(hoDt))) Begin
        Send CreateComObject of hoDt
    End
    Get pvComObject of hoDt to vDt
    Send ComToDtObj To hoCkdt True vDt

    Get ComDay Of hoDt To iTemp1
    Get ComMonth Of hoDt To iTemp2
    Get ComYear Of hoDt To iTemp3
    Get ComHour Of hoDt To iTemp4
    Get ComMinute Of hoDt To iTemp5
    Showln iTemp1 "/" iTemp2 "/" iTemp3 "  " iTemp4 ":" iTemp5

    // Get the certificate valid-to date/time
    Get ComValidToStr Of hoCert To sTemp1
    Get ComSetFromRfc822 Of hoCkdt sTemp1 To iSuccess

    Get ComGetAsTimestamp Of hoCkdt True To sTemp1
    Showln "Valid to: " sTemp1
    // Valid to: 2020-03-18T18:59:59-05:00new DtObj dt;
    Get pvComObject of hoDt to vDt
    Send ComToDtObj To hoCkdt True vDt

    Get ComDay Of hoDt To iTemp1
    Get ComMonth Of hoDt To iTemp2
    Get ComYear Of hoDt To iTemp3
    Get ComHour Of hoDt To iTemp4
    Get ComMinute Of hoDt To iTemp5
    Showln iTemp1 "/" iTemp2 "/" iTemp3 "  " iTemp4 ":" iTemp5


End_Procedure