Sample code for 30+ languages & platforms
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

Delphi DLL
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;