Delphi DLL
Delphi DLL
Workaround for the deprecated Crypt2.OpaqueVerifyString method
Shows how to replace the deprecated OpaqueVerifyString method. (Chilkat is moving away from the use of CkByteData.)Chilkat Delphi DLL Downloads
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, BinData, CkByteData, Crypt2;
...
procedure TForm1.Button1Click(Sender: TObject);
var
success: Boolean;
crypt: HCkCrypt2;
path: PWideChar;
inData: HCkByteData;
originalText: PWideChar;
bd: HCkBinData;
begin
success := False;
crypt := CkCrypt2_Create();
// Specifies how the original data bytes are converted to characters
CkCrypt2_putCharset(crypt,'utf-8');
path := 'c:/someDir/example.dat';
// ------------------------------------------------------------------------
// The OpaqueVerifyString method is deprecated:
inData := CkByteData_Create();
CkByteData_loadFile(inData,path);
originalText := CkCrypt2__opaqueVerifyString(crypt,inData);
// ------------------------------------------------------------------------
// Workaround.
// (Chilkat is moving away from using CkByteData)
bd := CkBinData_Create();
CkBinData_LoadFile(bd,path);
// If the opaque signature is validated, the contents of bd are replaced with the original data that was signed.
success := CkCrypt2_OpaqueVerifyBd(crypt,bd);
// Indicate how the bytes are converted to chars by passing the charset.
originalText := CkBinData__getString(bd,'utf-8');
CkCrypt2_Dispose(crypt);
CkByteData_Dispose(inData);
CkBinData_Dispose(bd);
end;