Delphi DLL Requires Chilkat v11.0.0+
Delphi DLL
Workaround for the deprecated Crypt2.VerifyBytes method
Shows how to replace the deprecated VerifyBytes method. (Chilkat is moving away from the use of CkByteData.)Chilkat Delphi DLL Downloads
var
crypt: HCkCrypt2;
sigPath: PWideChar;
originalDataPath: PWideChar;
detachedSigBytes: HCkByteData;
originalDataBytes: HCkByteData;
verified: Boolean;
bdSig: HCkBinData;
bdOrigData: HCkBinData;
encoding: PWideChar;
begin
crypt := CkCrypt2_Create();
sigPath := 'c:/someDir/example.p7s';
originalDataPath := 'c:/someDir/example.dat';
// ------------------------------------------------------------------------
// The VerifyBytes method is deprecated:
detachedSigBytes := CkByteData_Create();
CkByteData_loadFile(detachedSigBytes,sigPath);
originalDataBytes := CkByteData_Create();
CkByteData_loadFile(originalDataBytes,originalDataPath);
verified := CkCrypt2_VerifyBytes(crypt,originalDataBytes,detachedSigBytes);
// ------------------------------------------------------------------------
// Workaround.
// (Chilkat is moving away from using CkByteData)
bdSig := CkBinData_Create();
CkBinData_LoadFile(bdSig,sigPath);
bdOrigData := CkBinData_Create();
CkBinData_LoadFile(bdOrigData,originalDataPath);
encoding := 'base64';
CkCrypt2_putEncodingMode(crypt,encoding);
verified := CkCrypt2_VerifyBdENC(crypt,bdOrigData,CkBinData__getEncoded(bdSig,encoding));
CkCrypt2_Dispose(crypt);
CkByteData_Dispose(detachedSigBytes);
CkByteData_Dispose(originalDataBytes);
CkBinData_Dispose(bdSig);
CkBinData_Dispose(bdOrigData);