unit Chilkat.Rsa;

{
  Pascal wrapper for Chilkat Rsa.
  Auto-generated by PascalWrapperGenerator -- do not edit manually.
}

{$IFDEF FPC}
  {$MODE DELPHI}
{$ENDIF}

interface

uses
  SysUtils,
  Chilkat.Base;

type

  { TRsa wraps CkRsa via the C bridge layer. }
  TRsa = class(TChilkatBase)
  private
    function  GetLastErrorHtml: string;
    function  GetLastErrorText: string;
    function  GetLastErrorXml: string;
    function  GetVersion: string;
    function  GetDebugLogFilePath: string;
    procedure SetDebugLogFilePath(AValue: string);
    function  GetVerboseLogging: Boolean;
    procedure SetVerboseLogging(AValue: Boolean);
    function  GetLastMethodSuccess: Boolean;
    procedure SetLastMethodSuccess(AValue: Boolean);
    function  GetCharset: string;
    procedure SetCharset(AValue: string);
    function  GetEncodingMode: string;
    procedure SetEncodingMode(AValue: string);
    function  GetLittleEndian: Boolean;
    procedure SetLittleEndian(AValue: Boolean);
    function  GetNoUnpad: Boolean;
    procedure SetNoUnpad(AValue: Boolean);
    function  GetNumBits: Integer;
    function  GetOaepHash: string;
    procedure SetOaepHash(AValue: string);
    function  GetOaepMgfHash: string;
    procedure SetOaepMgfHash(AValue: string);
    function  GetPssSaltLen: Integer;
    procedure SetPssSaltLen(AValue: Integer);
    function  GetOaepLabel: string;
    procedure SetOaepLabel(AValue: string);
    function  GetUncommonOptions: string;
    procedure SetUncommonOptions(AValue: string);
    function  GetPkcsPadding: Boolean;
    procedure SetPkcsPadding(AValue: Boolean);
  public
    constructor Create;
    destructor  Destroy; override;

    property LastErrorHtml: string read GetLastErrorHtml;
    property LastErrorText: string read GetLastErrorText;
    property LastErrorXml: string read GetLastErrorXml;
    property Version: string read GetVersion;
    property DebugLogFilePath: string read GetDebugLogFilePath write SetDebugLogFilePath;
    property VerboseLogging: Boolean read GetVerboseLogging write SetVerboseLogging;
    property LastMethodSuccess: Boolean read GetLastMethodSuccess write SetLastMethodSuccess;
    property Charset: string read GetCharset write SetCharset;
    property EncodingMode: string read GetEncodingMode write SetEncodingMode;
    property LittleEndian: Boolean read GetLittleEndian write SetLittleEndian;
    property NoUnpad: Boolean read GetNoUnpad write SetNoUnpad;
    property NumBits: Integer read GetNumBits;
    property OaepHash: string read GetOaepHash write SetOaepHash;
    property OaepMgfHash: string read GetOaepMgfHash write SetOaepMgfHash;
    property PssSaltLen: Integer read GetPssSaltLen write SetPssSaltLen;
    property OaepLabel: string read GetOaepLabel write SetOaepLabel;
    property UncommonOptions: string read GetUncommonOptions write SetUncommonOptions;
    property PkcsPadding: Boolean read GetPkcsPadding write SetPkcsPadding;

    function  DecryptStringENC(const str: string; usePrivateKey: Boolean): string;
    function  EncryptStringENC(const str: string; bUsePrivateKey: Boolean): string;
    function  SignHashENC(const encodedHash: string; const hashAlg: string): string;
    function  SignStringENC(const strToBeHashed: string; const hashAlgorithm: string): string;
    function  SnkToXml(const filename: string): string;
    function  VerifyHashENC(const encodedHash: string; const hashAlg: string; const encodedSig: string): Boolean;
    function  VerifyStringENC(const originalString: string; const hashAlgorithm: string; const encodedSig: string): Boolean;
    function  SetX509Cert(cert: TChilkatBase; usePrivateKey: Boolean): Boolean;
    function  DecryptBd(bd: TChilkatBase; usePrivateKey: Boolean): Boolean;
    function  EncryptBd(bd: TChilkatBase; usePrivateKey: Boolean): Boolean;
    function  SignBd(bdData: TChilkatBase; const hashAlgorithm: string; bdSig: TChilkatBase): Boolean;
    function  VerifyBd(bdData: TChilkatBase; const hashAlgorithm: string; bdSig: TChilkatBase): Boolean;
    function  GenKey(numBits: Integer; privKey: TChilkatBase): Boolean;
    function  UsePrivateKey(privKey: TChilkatBase): Boolean;
    function  UsePublicKey(pubKey: TChilkatBase): Boolean;
    function  SignRawBd(bd: TChilkatBase): Boolean;
    function  VerifyRawBd(bd: TChilkatBase): Boolean;
  end;

implementation

uses
  CkDllLoader,
  Chilkat.Utils;

{ ---- C bridge function pointer types ---- }
type
  TCkRsa_Create  = function(): Pointer; cdecl;
  TCkRsa_Dispose = procedure(handle: Pointer); cdecl;
  TCkRsa_get_LastErrorHtml = function(handle: Pointer): PAnsiChar; cdecl;
  TCkRsa_get_LastErrorText = function(handle: Pointer): PAnsiChar; cdecl;
  TCkRsa_get_LastErrorXml = function(handle: Pointer): PAnsiChar; cdecl;
  TCkRsa_get_Version = function(handle: Pointer): PAnsiChar; cdecl;
  TCkRsa_get_DebugLogFilePath = function(handle: Pointer): PAnsiChar; cdecl;
  TCkRsa_put_DebugLogFilePath = procedure(handle: Pointer; value: PAnsiChar); cdecl;
  TCkRsa_get_VerboseLogging = function(handle: Pointer): LongBool; cdecl;
  TCkRsa_put_VerboseLogging = procedure(handle: Pointer; value: LongBool); cdecl;
  TCkRsa_get_LastMethodSuccess = function(handle: Pointer): LongBool; cdecl;
  TCkRsa_put_LastMethodSuccess = procedure(handle: Pointer; value: LongBool); cdecl;
  TCkRsa_get_Charset = function(handle: Pointer): PAnsiChar; cdecl;
  TCkRsa_put_Charset = procedure(handle: Pointer; value: PAnsiChar); cdecl;
  TCkRsa_get_EncodingMode = function(handle: Pointer): PAnsiChar; cdecl;
  TCkRsa_put_EncodingMode = procedure(handle: Pointer; value: PAnsiChar); cdecl;
  TCkRsa_get_LittleEndian = function(handle: Pointer): LongBool; cdecl;
  TCkRsa_put_LittleEndian = procedure(handle: Pointer; value: LongBool); cdecl;
  TCkRsa_get_NoUnpad = function(handle: Pointer): LongBool; cdecl;
  TCkRsa_put_NoUnpad = procedure(handle: Pointer; value: LongBool); cdecl;
  TCkRsa_get_NumBits = function(handle: Pointer): Integer; cdecl;
  TCkRsa_get_OaepHash = function(handle: Pointer): PAnsiChar; cdecl;
  TCkRsa_put_OaepHash = procedure(handle: Pointer; value: PAnsiChar); cdecl;
  TCkRsa_get_OaepMgfHash = function(handle: Pointer): PAnsiChar; cdecl;
  TCkRsa_put_OaepMgfHash = procedure(handle: Pointer; value: PAnsiChar); cdecl;
  TCkRsa_get_PssSaltLen = function(handle: Pointer): Integer; cdecl;
  TCkRsa_put_PssSaltLen = procedure(handle: Pointer; value: Integer); cdecl;
  TCkRsa_get_OaepLabel = function(handle: Pointer): PAnsiChar; cdecl;
  TCkRsa_put_OaepLabel = procedure(handle: Pointer; value: PAnsiChar); cdecl;
  TCkRsa_get_UncommonOptions = function(handle: Pointer): PAnsiChar; cdecl;
  TCkRsa_put_UncommonOptions = procedure(handle: Pointer; value: PAnsiChar); cdecl;
  TCkRsa_get_PkcsPadding = function(handle: Pointer): LongBool; cdecl;
  TCkRsa_put_PkcsPadding = procedure(handle: Pointer; value: LongBool); cdecl;
  TCkRsa_DecryptStringENC = function(handle: Pointer; str: PAnsiChar; usePrivateKey: LongBool): PAnsiChar; cdecl;
  TCkRsa_EncryptStringENC = function(handle: Pointer; str: PAnsiChar; bUsePrivateKey: LongBool): PAnsiChar; cdecl;
  TCkRsa_SignHashENC = function(handle: Pointer; encodedHash: PAnsiChar; hashAlg: PAnsiChar): PAnsiChar; cdecl;
  TCkRsa_SignStringENC = function(handle: Pointer; strToBeHashed: PAnsiChar; hashAlgorithm: PAnsiChar): PAnsiChar; cdecl;
  TCkRsa_SnkToXml = function(handle: Pointer; filename: PAnsiChar): PAnsiChar; cdecl;
  TCkRsa_VerifyHashENC = function(handle: Pointer; encodedHash: PAnsiChar; hashAlg: PAnsiChar; encodedSig: PAnsiChar): LongBool; cdecl;
  TCkRsa_VerifyStringENC = function(handle: Pointer; originalString: PAnsiChar; hashAlgorithm: PAnsiChar; encodedSig: PAnsiChar): LongBool; cdecl;
  TCkRsa_SetX509Cert = function(handle: Pointer; cert: Pointer; usePrivateKey: LongBool): LongBool; cdecl;
  TCkRsa_DecryptBd = function(handle: Pointer; bd: Pointer; usePrivateKey: LongBool): LongBool; cdecl;
  TCkRsa_EncryptBd = function(handle: Pointer; bd: Pointer; usePrivateKey: LongBool): LongBool; cdecl;
  TCkRsa_SignBd = function(handle: Pointer; bdData: Pointer; hashAlgorithm: PAnsiChar; bdSig: Pointer): LongBool; cdecl;
  TCkRsa_VerifyBd = function(handle: Pointer; bdData: Pointer; hashAlgorithm: PAnsiChar; bdSig: Pointer): LongBool; cdecl;
  TCkRsa_GenKey = function(handle: Pointer; numBits: Integer; privKey: Pointer): LongBool; cdecl;
  TCkRsa_UsePrivateKey = function(handle: Pointer; privKey: Pointer): LongBool; cdecl;
  TCkRsa_UsePublicKey = function(handle: Pointer; pubKey: Pointer): LongBool; cdecl;
  TCkRsa_SignRawBd = function(handle: Pointer; bd: Pointer): LongBool; cdecl;
  TCkRsa_VerifyRawBd = function(handle: Pointer; bd: Pointer): LongBool; cdecl;

{ ---- C bridge function pointer variables ---- }
var
  CkRsa_Create:  TCkRsa_Create  = nil;
  CkRsa_Dispose: TCkRsa_Dispose = nil;
  CkRsa_get_LastErrorHtml: TCkRsa_get_LastErrorHtml = nil;
  CkRsa_get_LastErrorText: TCkRsa_get_LastErrorText = nil;
  CkRsa_get_LastErrorXml: TCkRsa_get_LastErrorXml = nil;
  CkRsa_get_Version: TCkRsa_get_Version = nil;
  CkRsa_get_DebugLogFilePath: TCkRsa_get_DebugLogFilePath = nil;
  CkRsa_put_DebugLogFilePath: TCkRsa_put_DebugLogFilePath = nil;
  CkRsa_get_VerboseLogging: TCkRsa_get_VerboseLogging = nil;
  CkRsa_put_VerboseLogging: TCkRsa_put_VerboseLogging = nil;
  CkRsa_get_LastMethodSuccess: TCkRsa_get_LastMethodSuccess = nil;
  CkRsa_put_LastMethodSuccess: TCkRsa_put_LastMethodSuccess = nil;
  CkRsa_get_Charset: TCkRsa_get_Charset = nil;
  CkRsa_put_Charset: TCkRsa_put_Charset = nil;
  CkRsa_get_EncodingMode: TCkRsa_get_EncodingMode = nil;
  CkRsa_put_EncodingMode: TCkRsa_put_EncodingMode = nil;
  CkRsa_get_LittleEndian: TCkRsa_get_LittleEndian = nil;
  CkRsa_put_LittleEndian: TCkRsa_put_LittleEndian = nil;
  CkRsa_get_NoUnpad: TCkRsa_get_NoUnpad = nil;
  CkRsa_put_NoUnpad: TCkRsa_put_NoUnpad = nil;
  CkRsa_get_NumBits: TCkRsa_get_NumBits = nil;
  CkRsa_get_OaepHash: TCkRsa_get_OaepHash = nil;
  CkRsa_put_OaepHash: TCkRsa_put_OaepHash = nil;
  CkRsa_get_OaepMgfHash: TCkRsa_get_OaepMgfHash = nil;
  CkRsa_put_OaepMgfHash: TCkRsa_put_OaepMgfHash = nil;
  CkRsa_get_PssSaltLen: TCkRsa_get_PssSaltLen = nil;
  CkRsa_put_PssSaltLen: TCkRsa_put_PssSaltLen = nil;
  CkRsa_get_OaepLabel: TCkRsa_get_OaepLabel = nil;
  CkRsa_put_OaepLabel: TCkRsa_put_OaepLabel = nil;
  CkRsa_get_UncommonOptions: TCkRsa_get_UncommonOptions = nil;
  CkRsa_put_UncommonOptions: TCkRsa_put_UncommonOptions = nil;
  CkRsa_get_PkcsPadding: TCkRsa_get_PkcsPadding = nil;
  CkRsa_put_PkcsPadding: TCkRsa_put_PkcsPadding = nil;
  CkRsa_DecryptStringENC: TCkRsa_DecryptStringENC = nil;
  CkRsa_EncryptStringENC: TCkRsa_EncryptStringENC = nil;
  CkRsa_SignHashENC: TCkRsa_SignHashENC = nil;
  CkRsa_SignStringENC: TCkRsa_SignStringENC = nil;
  CkRsa_SnkToXml: TCkRsa_SnkToXml = nil;
  CkRsa_VerifyHashENC: TCkRsa_VerifyHashENC = nil;
  CkRsa_VerifyStringENC: TCkRsa_VerifyStringENC = nil;
  CkRsa_SetX509Cert: TCkRsa_SetX509Cert = nil;
  CkRsa_DecryptBd: TCkRsa_DecryptBd = nil;
  CkRsa_EncryptBd: TCkRsa_EncryptBd = nil;
  CkRsa_SignBd: TCkRsa_SignBd = nil;
  CkRsa_VerifyBd: TCkRsa_VerifyBd = nil;
  CkRsa_GenKey: TCkRsa_GenKey = nil;
  CkRsa_UsePrivateKey: TCkRsa_UsePrivateKey = nil;
  CkRsa_UsePublicKey: TCkRsa_UsePublicKey = nil;
  CkRsa_SignRawBd: TCkRsa_SignRawBd = nil;
  CkRsa_VerifyRawBd: TCkRsa_VerifyRawBd = nil;

constructor TRsa.Create;
begin
  inherited Create;
  FHandle := CkRsa_Create();
end;

destructor TRsa.Destroy;
begin
  if FHandle <> nil then
    CkRsa_Dispose(FHandle);
  FHandle := nil;
  inherited;
end;

function TRsa.GetLastErrorHtml: string;
begin
  Result := CkToStr(CkRsa_get_LastErrorHtml(FHandle));
end;

function TRsa.GetLastErrorText: string;
begin
  Result := CkToStr(CkRsa_get_LastErrorText(FHandle));
end;

function TRsa.GetLastErrorXml: string;
begin
  Result := CkToStr(CkRsa_get_LastErrorXml(FHandle));
end;

function TRsa.GetVersion: string;
begin
  Result := CkToStr(CkRsa_get_Version(FHandle));
end;

function TRsa.GetDebugLogFilePath: string;
begin
  Result := CkToStr(CkRsa_get_DebugLogFilePath(FHandle));
end;

procedure TRsa.SetDebugLogFilePath(AValue: string);
begin
  CkRsa_put_DebugLogFilePath(FHandle, PAnsiChar(StrToCk(AValue)));
end;

function TRsa.GetVerboseLogging: Boolean;
begin
  Result := Boolean(CkRsa_get_VerboseLogging(FHandle));
end;

procedure TRsa.SetVerboseLogging(AValue: Boolean);
begin
  CkRsa_put_VerboseLogging(FHandle, LongBool(AValue));
end;

function TRsa.GetLastMethodSuccess: Boolean;
begin
  Result := Boolean(CkRsa_get_LastMethodSuccess(FHandle));
end;

procedure TRsa.SetLastMethodSuccess(AValue: Boolean);
begin
  CkRsa_put_LastMethodSuccess(FHandle, LongBool(AValue));
end;

function TRsa.GetCharset: string;
begin
  Result := CkToStr(CkRsa_get_Charset(FHandle));
end;

procedure TRsa.SetCharset(AValue: string);
begin
  CkRsa_put_Charset(FHandle, PAnsiChar(StrToCk(AValue)));
end;

function TRsa.GetEncodingMode: string;
begin
  Result := CkToStr(CkRsa_get_EncodingMode(FHandle));
end;

procedure TRsa.SetEncodingMode(AValue: string);
begin
  CkRsa_put_EncodingMode(FHandle, PAnsiChar(StrToCk(AValue)));
end;

function TRsa.GetLittleEndian: Boolean;
begin
  Result := Boolean(CkRsa_get_LittleEndian(FHandle));
end;

procedure TRsa.SetLittleEndian(AValue: Boolean);
begin
  CkRsa_put_LittleEndian(FHandle, LongBool(AValue));
end;

function TRsa.GetNoUnpad: Boolean;
begin
  Result := Boolean(CkRsa_get_NoUnpad(FHandle));
end;

procedure TRsa.SetNoUnpad(AValue: Boolean);
begin
  CkRsa_put_NoUnpad(FHandle, LongBool(AValue));
end;

function TRsa.GetNumBits: Integer;
begin
  Result := CkRsa_get_NumBits(FHandle);
end;

function TRsa.GetOaepHash: string;
begin
  Result := CkToStr(CkRsa_get_OaepHash(FHandle));
end;

procedure TRsa.SetOaepHash(AValue: string);
begin
  CkRsa_put_OaepHash(FHandle, PAnsiChar(StrToCk(AValue)));
end;

function TRsa.GetOaepMgfHash: string;
begin
  Result := CkToStr(CkRsa_get_OaepMgfHash(FHandle));
end;

procedure TRsa.SetOaepMgfHash(AValue: string);
begin
  CkRsa_put_OaepMgfHash(FHandle, PAnsiChar(StrToCk(AValue)));
end;

function TRsa.GetPssSaltLen: Integer;
begin
  Result := CkRsa_get_PssSaltLen(FHandle);
end;

procedure TRsa.SetPssSaltLen(AValue: Integer);
begin
  CkRsa_put_PssSaltLen(FHandle, AValue);
end;

function TRsa.GetOaepLabel: string;
begin
  Result := CkToStr(CkRsa_get_OaepLabel(FHandle));
end;

procedure TRsa.SetOaepLabel(AValue: string);
begin
  CkRsa_put_OaepLabel(FHandle, PAnsiChar(StrToCk(AValue)));
end;

function TRsa.GetUncommonOptions: string;
begin
  Result := CkToStr(CkRsa_get_UncommonOptions(FHandle));
end;

procedure TRsa.SetUncommonOptions(AValue: string);
begin
  CkRsa_put_UncommonOptions(FHandle, PAnsiChar(StrToCk(AValue)));
end;

function TRsa.GetPkcsPadding: Boolean;
begin
  Result := Boolean(CkRsa_get_PkcsPadding(FHandle));
end;

procedure TRsa.SetPkcsPadding(AValue: Boolean);
begin
  CkRsa_put_PkcsPadding(FHandle, LongBool(AValue));
end;

function TRsa.DecryptStringENC(const str: string; usePrivateKey: Boolean): string;
begin
  Result := CkToStr(CkRsa_DecryptStringENC(FHandle, PAnsiChar(StrToCk(str)), LongBool(usePrivateKey)));
end;

function TRsa.EncryptStringENC(const str: string; bUsePrivateKey: Boolean): string;
begin
  Result := CkToStr(CkRsa_EncryptStringENC(FHandle, PAnsiChar(StrToCk(str)), LongBool(bUsePrivateKey)));
end;

function TRsa.SignHashENC(const encodedHash: string; const hashAlg: string): string;
begin
  Result := CkToStr(CkRsa_SignHashENC(FHandle, PAnsiChar(StrToCk(encodedHash)), PAnsiChar(StrToCk(hashAlg))));
end;

function TRsa.SignStringENC(const strToBeHashed: string; const hashAlgorithm: string): string;
begin
  Result := CkToStr(CkRsa_SignStringENC(FHandle, PAnsiChar(StrToCk(strToBeHashed)), PAnsiChar(StrToCk(hashAlgorithm))));
end;

function TRsa.SnkToXml(const filename: string): string;
begin
  Result := CkToStr(CkRsa_SnkToXml(FHandle, PAnsiChar(StrToCk(filename))));
end;

function TRsa.VerifyHashENC(const encodedHash: string; const hashAlg: string; const encodedSig: string): Boolean;
begin
  Result := Boolean(CkRsa_VerifyHashENC(FHandle, PAnsiChar(StrToCk(encodedHash)), PAnsiChar(StrToCk(hashAlg)), PAnsiChar(StrToCk(encodedSig))));
end;

function TRsa.VerifyStringENC(const originalString: string; const hashAlgorithm: string; const encodedSig: string): Boolean;
begin
  Result := Boolean(CkRsa_VerifyStringENC(FHandle, PAnsiChar(StrToCk(originalString)), PAnsiChar(StrToCk(hashAlgorithm)), PAnsiChar(StrToCk(encodedSig))));
end;

function TRsa.SetX509Cert(cert: TChilkatBase; usePrivateKey: Boolean): Boolean;
begin
  Result := Boolean(CkRsa_SetX509Cert(FHandle, cert.Handle, LongBool(usePrivateKey)));
end;

function TRsa.DecryptBd(bd: TChilkatBase; usePrivateKey: Boolean): Boolean;
begin
  Result := Boolean(CkRsa_DecryptBd(FHandle, bd.Handle, LongBool(usePrivateKey)));
end;

function TRsa.EncryptBd(bd: TChilkatBase; usePrivateKey: Boolean): Boolean;
begin
  Result := Boolean(CkRsa_EncryptBd(FHandle, bd.Handle, LongBool(usePrivateKey)));
end;

function TRsa.SignBd(bdData: TChilkatBase; const hashAlgorithm: string; bdSig: TChilkatBase): Boolean;
begin
  Result := Boolean(CkRsa_SignBd(FHandle, bdData.Handle, PAnsiChar(StrToCk(hashAlgorithm)), bdSig.Handle));
end;

function TRsa.VerifyBd(bdData: TChilkatBase; const hashAlgorithm: string; bdSig: TChilkatBase): Boolean;
begin
  Result := Boolean(CkRsa_VerifyBd(FHandle, bdData.Handle, PAnsiChar(StrToCk(hashAlgorithm)), bdSig.Handle));
end;

function TRsa.GenKey(numBits: Integer; privKey: TChilkatBase): Boolean;
begin
  Result := Boolean(CkRsa_GenKey(FHandle, numBits, privKey.Handle));
end;

function TRsa.UsePrivateKey(privKey: TChilkatBase): Boolean;
begin
  Result := Boolean(CkRsa_UsePrivateKey(FHandle, privKey.Handle));
end;

function TRsa.UsePublicKey(pubKey: TChilkatBase): Boolean;
begin
  Result := Boolean(CkRsa_UsePublicKey(FHandle, pubKey.Handle));
end;

function TRsa.SignRawBd(bd: TChilkatBase): Boolean;
begin
  Result := Boolean(CkRsa_SignRawBd(FHandle, bd.Handle));
end;

function TRsa.VerifyRawBd(bd: TChilkatBase): Boolean;
begin
  Result := Boolean(CkRsa_VerifyRawBd(FHandle, bd.Handle));
end;

initialization
  Chilkat_GetProcedureAddress(CkRsa_Create,  'CkRsa_Create');
  Chilkat_GetProcedureAddress(CkRsa_Dispose, 'CkRsa_Dispose');
  Chilkat_GetProcedureAddress(CkRsa_get_LastErrorHtml, 'CkRsa_get_LastErrorHtml');
  Chilkat_GetProcedureAddress(CkRsa_get_LastErrorText, 'CkRsa_get_LastErrorText');
  Chilkat_GetProcedureAddress(CkRsa_get_LastErrorXml, 'CkRsa_get_LastErrorXml');
  Chilkat_GetProcedureAddress(CkRsa_get_Version, 'CkRsa_get_Version');
  Chilkat_GetProcedureAddress(CkRsa_get_DebugLogFilePath, 'CkRsa_get_DebugLogFilePath');
  Chilkat_GetProcedureAddress(CkRsa_put_DebugLogFilePath, 'CkRsa_put_DebugLogFilePath');
  Chilkat_GetProcedureAddress(CkRsa_get_VerboseLogging, 'CkRsa_get_VerboseLogging');
  Chilkat_GetProcedureAddress(CkRsa_put_VerboseLogging, 'CkRsa_put_VerboseLogging');
  Chilkat_GetProcedureAddress(CkRsa_get_LastMethodSuccess, 'CkRsa_get_LastMethodSuccess');
  Chilkat_GetProcedureAddress(CkRsa_put_LastMethodSuccess, 'CkRsa_put_LastMethodSuccess');
  Chilkat_GetProcedureAddress(CkRsa_get_Charset, 'CkRsa_get_Charset');
  Chilkat_GetProcedureAddress(CkRsa_put_Charset, 'CkRsa_put_Charset');
  Chilkat_GetProcedureAddress(CkRsa_get_EncodingMode, 'CkRsa_get_EncodingMode');
  Chilkat_GetProcedureAddress(CkRsa_put_EncodingMode, 'CkRsa_put_EncodingMode');
  Chilkat_GetProcedureAddress(CkRsa_get_LittleEndian, 'CkRsa_get_LittleEndian');
  Chilkat_GetProcedureAddress(CkRsa_put_LittleEndian, 'CkRsa_put_LittleEndian');
  Chilkat_GetProcedureAddress(CkRsa_get_NoUnpad, 'CkRsa_get_NoUnpad');
  Chilkat_GetProcedureAddress(CkRsa_put_NoUnpad, 'CkRsa_put_NoUnpad');
  Chilkat_GetProcedureAddress(CkRsa_get_NumBits, 'CkRsa_get_NumBits');
  Chilkat_GetProcedureAddress(CkRsa_get_OaepHash, 'CkRsa_get_OaepHash');
  Chilkat_GetProcedureAddress(CkRsa_put_OaepHash, 'CkRsa_put_OaepHash');
  Chilkat_GetProcedureAddress(CkRsa_get_OaepMgfHash, 'CkRsa_get_OaepMgfHash');
  Chilkat_GetProcedureAddress(CkRsa_put_OaepMgfHash, 'CkRsa_put_OaepMgfHash');
  Chilkat_GetProcedureAddress(CkRsa_get_PssSaltLen, 'CkRsa_get_PssSaltLen');
  Chilkat_GetProcedureAddress(CkRsa_put_PssSaltLen, 'CkRsa_put_PssSaltLen');
  Chilkat_GetProcedureAddress(CkRsa_get_OaepLabel, 'CkRsa_get_OaepLabel');
  Chilkat_GetProcedureAddress(CkRsa_put_OaepLabel, 'CkRsa_put_OaepLabel');
  Chilkat_GetProcedureAddress(CkRsa_get_UncommonOptions, 'CkRsa_get_UncommonOptions');
  Chilkat_GetProcedureAddress(CkRsa_put_UncommonOptions, 'CkRsa_put_UncommonOptions');
  Chilkat_GetProcedureAddress(CkRsa_get_PkcsPadding, 'CkRsa_get_PkcsPadding');
  Chilkat_GetProcedureAddress(CkRsa_put_PkcsPadding, 'CkRsa_put_PkcsPadding');
  Chilkat_GetProcedureAddress(CkRsa_DecryptStringENC, 'CkRsa_DecryptStringENC');
  Chilkat_GetProcedureAddress(CkRsa_EncryptStringENC, 'CkRsa_EncryptStringENC');
  Chilkat_GetProcedureAddress(CkRsa_SignHashENC, 'CkRsa_SignHashENC');
  Chilkat_GetProcedureAddress(CkRsa_SignStringENC, 'CkRsa_SignStringENC');
  Chilkat_GetProcedureAddress(CkRsa_SnkToXml, 'CkRsa_SnkToXml');
  Chilkat_GetProcedureAddress(CkRsa_VerifyHashENC, 'CkRsa_VerifyHashENC');
  Chilkat_GetProcedureAddress(CkRsa_VerifyStringENC, 'CkRsa_VerifyStringENC');
  Chilkat_GetProcedureAddress(CkRsa_SetX509Cert, 'CkRsa_SetX509Cert');
  Chilkat_GetProcedureAddress(CkRsa_DecryptBd, 'CkRsa_DecryptBd');
  Chilkat_GetProcedureAddress(CkRsa_EncryptBd, 'CkRsa_EncryptBd');
  Chilkat_GetProcedureAddress(CkRsa_SignBd, 'CkRsa_SignBd');
  Chilkat_GetProcedureAddress(CkRsa_VerifyBd, 'CkRsa_VerifyBd');
  Chilkat_GetProcedureAddress(CkRsa_GenKey, 'CkRsa_GenKey');
  Chilkat_GetProcedureAddress(CkRsa_UsePrivateKey, 'CkRsa_UsePrivateKey');
  Chilkat_GetProcedureAddress(CkRsa_UsePublicKey, 'CkRsa_UsePublicKey');
  Chilkat_GetProcedureAddress(CkRsa_SignRawBd, 'CkRsa_SignRawBd');
  Chilkat_GetProcedureAddress(CkRsa_VerifyRawBd, 'CkRsa_VerifyRawBd');

end.
