Sample code for 30+ languages & platforms
Delphi DLL Requires Chilkat v11.0.0+

Get Certificate Valid To/From Dates

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

Chilkat Delphi DLL Downloads

Delphi DLL
var
success: Boolean;
cert: HCkCert;
ckdt: HCkDateTime;
dt: HCkDtObj;

begin
success := False;

cert := CkCert_Create();

success := CkCert_LoadFromFile(cert,'qa_data/certs/testCert.cer');
if (success = False) then
  begin
    Memo1.Lines.Add(CkCert__lastErrorText(cert));
    Exit;
  end;

//  Get the certificate valid-from date/time
ckdt := CkDateTime_Create();
CkDateTime_SetFromRfc822(ckdt,CkCert__validFromStr(cert));

//  Get the local timestamp string.
Memo1.Lines.Add('Valid from: ' + CkDateTime__getAsTimestamp(ckdt,True));
//  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.
dt := CkDtObj_Create();
CkDateTime_ToDtObj(ckdt,True,dt);

Memo1.Lines.Add(IntToStr(CkDtObj_getDay(dt)) + '/' + IntToStr(CkDtObj_getMonth(dt)) + '/' + IntToStr(CkDtObj_getYear(dt)) + '  ' + IntToStr(CkDtObj_getHour(dt)) + ':'
     + IntToStr(CkDtObj_getMinute(dt)));

//  Get the certificate valid-to date/time
CkDateTime_SetFromRfc822(ckdt,CkCert__validToStr(cert));

Memo1.Lines.Add('Valid to: ' + CkDateTime__getAsTimestamp(ckdt,True));
//  Valid to: 2020-03-18T18:59:59-05:00new DtObj dt;
CkDateTime_ToDtObj(ckdt,True,dt);

Memo1.Lines.Add(IntToStr(CkDtObj_getDay(dt)) + '/' + IntToStr(CkDtObj_getMonth(dt)) + '/' + IntToStr(CkDtObj_getYear(dt)) + '  ' + IntToStr(CkDtObj_getHour(dt)) + ':'
     + IntToStr(CkDtObj_getMinute(dt)));

CkCert_Dispose(cert);
CkDateTime_Dispose(ckdt);
CkDtObj_Dispose(dt);