Delphi DLL Requires Chilkat v11.0.0+
Delphi DLL
Workaround for the deprecated Crypt2.VerifyString method
Shows how to replace the deprecated VerifyString method. (Chilkat is moving away from the use of CkByteData.)Chilkat Delphi DLL Downloads
var
crypt: HCkCrypt2;
originalText: PWideChar;
sigPath: PWideChar;
detachedSigBytes: HCkByteData;
verified: Boolean;
bdSig: HCkBinData;
encoding: PWideChar;
begin
crypt := CkCrypt2_Create();
// Specifies how the original data bytes are converted to characters
CkCrypt2_putCharset(crypt,'utf-8');
originalText := 'this is the string that was signed.';
sigPath := 'c:/someDir/example.p7s';
// ------------------------------------------------------------------------
// The OpaqueVerifyString method is deprecated:
detachedSigBytes := CkByteData_Create();
CkByteData_loadFile(detachedSigBytes,sigPath);
verified := CkCrypt2_VerifyString(crypt,originalText,detachedSigBytes);
// ------------------------------------------------------------------------
// Workaround.
// (Chilkat is moving away from using CkByteData)
bdSig := CkBinData_Create();
CkBinData_LoadFile(bdSig,sigPath);
encoding := 'base64';
CkCrypt2_putEncodingMode(crypt,encoding);
verified := CkCrypt2_VerifyStringENC(crypt,originalText,CkBinData__getEncoded(bdSig,encoding));
CkCrypt2_Dispose(crypt);
CkByteData_Dispose(detachedSigBytes);
CkBinData_Dispose(bdSig);