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

Transition from Crypt2.GetSignerCertChain to Crypt2.LastSignerCert

Provides instructions for replacing deprecated GetSignerCertChain method calls with LastSignerCert.

Chilkat Delphi ActiveX Downloads

Delphi ActiveX
var
success: Integer;
crypt2: TChilkatCrypt2;
index: Integer;
certchainObj: IChilkatCertChain;
signerCert: TChilkatCert;
certChain: TChilkatCertChain;

begin
success := 0;

crypt2 := TChilkatCrypt2.Create(Self);

//  ...
//  ...
index := 0;

//  ------------------------------------------------------------------------
//  The GetSignerCertChain method is deprecated:

certchainObj := crypt2.GetSignerCertChain(index);
if (crypt2.LastMethodSuccess = 0) then
  begin
    Memo1.Lines.Add(crypt2.LastErrorText);
    Exit;
  end;

//  ...
//  ...

//  ------------------------------------------------------------------------
//  Do the equivalent using LastSignerCert, and then get the certificate chain from the cert.
//  Your application creates a new, empty Cert object which is passed 
//  in the last argument and filled upon success.

signerCert := TChilkatCert.Create(Self);
success := crypt2.LastSignerCert(index,signerCert.ControlInterface);
if (success = 0) then
  begin
    Memo1.Lines.Add(crypt2.LastErrorText);
    Exit;
  end;

certChain := TChilkatCertChain.Create(Self);
success := signerCert.BuildCertChain(certChain.ControlInterface);
if (success = 0) then
  begin
    Memo1.Lines.Add(signerCert.LastErrorText);
    Exit;
  end;