unit Chilkat.Pfx;

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

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

interface

uses
  SysUtils,
  Chilkat.Base;

type

  { TPfx wraps CkPfx via the C bridge layer. }
  TPfx = 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  GetNumCerts: Integer;
    function  GetNumPrivateKeys: Integer;
    function  GetAlgorithmId: string;
    procedure SetAlgorithmId(AValue: string);
    function  GetPbes2CryptAlg: string;
    procedure SetPbes2CryptAlg(AValue: string);
    function  GetPbes2HmacAlg: string;
    procedure SetPbes2HmacAlg(AValue: string);
    function  GetUncommonOptions: string;
    procedure SetUncommonOptions(AValue: string);
  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 NumCerts: Integer read GetNumCerts;
    property NumPrivateKeys: Integer read GetNumPrivateKeys;
    property AlgorithmId: string read GetAlgorithmId write SetAlgorithmId;
    property Pbes2CryptAlg: string read GetPbes2CryptAlg write SetPbes2CryptAlg;
    property Pbes2HmacAlg: string read GetPbes2HmacAlg write SetPbes2HmacAlg;
    property UncommonOptions: string read GetUncommonOptions write SetUncommonOptions;

    function  AddCert(cert: TChilkatBase; includeChain: Boolean): Boolean;
    function  AddPrivateKey(privKey: TChilkatBase; certChain: TChilkatBase): Boolean;
    function  LoadPem(const pemStr: string; const password: string): Boolean;
    function  LoadPfxEncoded(const encodedData: string; const encoding: string; const password: string): Boolean;
    function  LoadPfxFile(const path: string; const password: string): Boolean;
    function  ToEncodedString(const password: string; const encoding: string): string;
    function  ToFile(const password: string; const path: string): Boolean;
    function  ToPem: string;
    function  ToPemEx(extendedAttrs: Boolean; noKeys: Boolean; noCerts: Boolean; noCaCerts: Boolean; const encryptAlg: string; const password: string): string;
    function  UseCertVault(vault: TChilkatBase): Boolean;
    function  SetSafeBagAttr(forPrivateKey: Boolean; index: Integer; const name: string; const value: string; const encoding: string): Boolean;
    function  ImportToWindows(exportable: Boolean; userProtected: Boolean; machineKeyset: Boolean; allowOverwriteKey: Boolean; allowExport: Boolean; const leafStore: string; const intermediateStore: string; const rootStore: string; const extraOptions: string): Boolean;
    function  GetSafeBagAttr(forPrivateKey: Boolean; index: Integer; const attrName: string): string;
    function  ImportToKeychain(opts: TChilkatBase): Boolean;
    procedure GetLastJsonData(json: TChilkatBase);
    function  CertAt(index: Integer; cert: TChilkatBase): Boolean;
    function  CertByLocalKeyId(const localKeyId: string; const encoding: string; cert: TChilkatBase): Boolean;
    function  PrivateKeyAt(index: Integer; privKey: TChilkatBase): Boolean;
    function  ToJksObj(const alias: string; const password: string; jksObj: TChilkatBase): Boolean;
    function  LoadPfxBd(bd: TChilkatBase; const password: string): Boolean;
    function  ToBd(const password: string; bd: TChilkatBase): Boolean;
  end;

implementation

uses
  CkDllLoader,
  Chilkat.Utils;

{ ---- C bridge function pointer types ---- }
type
  TCkPfx_Create  = function(): Pointer; cdecl;
  TCkPfx_Dispose = procedure(handle: Pointer); cdecl;
  TCkPfx_get_LastErrorHtml = function(handle: Pointer): PAnsiChar; cdecl;
  TCkPfx_get_LastErrorText = function(handle: Pointer): PAnsiChar; cdecl;
  TCkPfx_get_LastErrorXml = function(handle: Pointer): PAnsiChar; cdecl;
  TCkPfx_get_Version = function(handle: Pointer): PAnsiChar; cdecl;
  TCkPfx_get_DebugLogFilePath = function(handle: Pointer): PAnsiChar; cdecl;
  TCkPfx_put_DebugLogFilePath = procedure(handle: Pointer; value: PAnsiChar); cdecl;
  TCkPfx_get_VerboseLogging = function(handle: Pointer): LongBool; cdecl;
  TCkPfx_put_VerboseLogging = procedure(handle: Pointer; value: LongBool); cdecl;
  TCkPfx_get_LastMethodSuccess = function(handle: Pointer): LongBool; cdecl;
  TCkPfx_put_LastMethodSuccess = procedure(handle: Pointer; value: LongBool); cdecl;
  TCkPfx_get_NumCerts = function(handle: Pointer): Integer; cdecl;
  TCkPfx_get_NumPrivateKeys = function(handle: Pointer): Integer; cdecl;
  TCkPfx_get_AlgorithmId = function(handle: Pointer): PAnsiChar; cdecl;
  TCkPfx_put_AlgorithmId = procedure(handle: Pointer; value: PAnsiChar); cdecl;
  TCkPfx_get_Pbes2CryptAlg = function(handle: Pointer): PAnsiChar; cdecl;
  TCkPfx_put_Pbes2CryptAlg = procedure(handle: Pointer; value: PAnsiChar); cdecl;
  TCkPfx_get_Pbes2HmacAlg = function(handle: Pointer): PAnsiChar; cdecl;
  TCkPfx_put_Pbes2HmacAlg = procedure(handle: Pointer; value: PAnsiChar); cdecl;
  TCkPfx_get_UncommonOptions = function(handle: Pointer): PAnsiChar; cdecl;
  TCkPfx_put_UncommonOptions = procedure(handle: Pointer; value: PAnsiChar); cdecl;
  TCkPfx_AddCert = function(handle: Pointer; cert: Pointer; includeChain: LongBool): LongBool; cdecl;
  TCkPfx_AddPrivateKey = function(handle: Pointer; privKey: Pointer; certChain: Pointer): LongBool; cdecl;
  TCkPfx_LoadPem = function(handle: Pointer; pemStr: PAnsiChar; password: PAnsiChar): LongBool; cdecl;
  TCkPfx_LoadPfxEncoded = function(handle: Pointer; encodedData: PAnsiChar; encoding: PAnsiChar; password: PAnsiChar): LongBool; cdecl;
  TCkPfx_LoadPfxFile = function(handle: Pointer; path: PAnsiChar; password: PAnsiChar): LongBool; cdecl;
  TCkPfx_ToEncodedString = function(handle: Pointer; password: PAnsiChar; encoding: PAnsiChar): PAnsiChar; cdecl;
  TCkPfx_ToFile = function(handle: Pointer; password: PAnsiChar; path: PAnsiChar): LongBool; cdecl;
  TCkPfx_ToPem = function(handle: Pointer): PAnsiChar; cdecl;
  TCkPfx_ToPemEx = function(handle: Pointer; extendedAttrs: LongBool; noKeys: LongBool; noCerts: LongBool; noCaCerts: LongBool; encryptAlg: PAnsiChar; password: PAnsiChar): PAnsiChar; cdecl;
  TCkPfx_UseCertVault = function(handle: Pointer; vault: Pointer): LongBool; cdecl;
  TCkPfx_SetSafeBagAttr = function(handle: Pointer; forPrivateKey: LongBool; index: Integer; name: PAnsiChar; value: PAnsiChar; encoding: PAnsiChar): LongBool; cdecl;
  TCkPfx_ImportToWindows = function(handle: Pointer; exportable: LongBool; userProtected: LongBool; machineKeyset: LongBool; allowOverwriteKey: LongBool; allowExport: LongBool; leafStore: PAnsiChar; intermediateStore: PAnsiChar; rootStore: PAnsiChar; extraOptions: PAnsiChar): LongBool; cdecl;
  TCkPfx_GetSafeBagAttr = function(handle: Pointer; forPrivateKey: LongBool; index: Integer; attrName: PAnsiChar): PAnsiChar; cdecl;
  TCkPfx_ImportToKeychain = function(handle: Pointer; opts: Pointer): LongBool; cdecl;
  TCkPfx_GetLastJsonData = procedure(handle: Pointer; json: Pointer); cdecl;
  TCkPfx_CertAt = function(handle: Pointer; index: Integer; cert: Pointer): LongBool; cdecl;
  TCkPfx_CertByLocalKeyId = function(handle: Pointer; localKeyId: PAnsiChar; encoding: PAnsiChar; cert: Pointer): LongBool; cdecl;
  TCkPfx_PrivateKeyAt = function(handle: Pointer; index: Integer; privKey: Pointer): LongBool; cdecl;
  TCkPfx_ToJksObj = function(handle: Pointer; alias: PAnsiChar; password: PAnsiChar; jksObj: Pointer): LongBool; cdecl;
  TCkPfx_LoadPfxBd = function(handle: Pointer; bd: Pointer; password: PAnsiChar): LongBool; cdecl;
  TCkPfx_ToBd = function(handle: Pointer; password: PAnsiChar; bd: Pointer): LongBool; cdecl;

{ ---- C bridge function pointer variables ---- }
var
  CkPfx_Create:  TCkPfx_Create  = nil;
  CkPfx_Dispose: TCkPfx_Dispose = nil;
  CkPfx_get_LastErrorHtml: TCkPfx_get_LastErrorHtml = nil;
  CkPfx_get_LastErrorText: TCkPfx_get_LastErrorText = nil;
  CkPfx_get_LastErrorXml: TCkPfx_get_LastErrorXml = nil;
  CkPfx_get_Version: TCkPfx_get_Version = nil;
  CkPfx_get_DebugLogFilePath: TCkPfx_get_DebugLogFilePath = nil;
  CkPfx_put_DebugLogFilePath: TCkPfx_put_DebugLogFilePath = nil;
  CkPfx_get_VerboseLogging: TCkPfx_get_VerboseLogging = nil;
  CkPfx_put_VerboseLogging: TCkPfx_put_VerboseLogging = nil;
  CkPfx_get_LastMethodSuccess: TCkPfx_get_LastMethodSuccess = nil;
  CkPfx_put_LastMethodSuccess: TCkPfx_put_LastMethodSuccess = nil;
  CkPfx_get_NumCerts: TCkPfx_get_NumCerts = nil;
  CkPfx_get_NumPrivateKeys: TCkPfx_get_NumPrivateKeys = nil;
  CkPfx_get_AlgorithmId: TCkPfx_get_AlgorithmId = nil;
  CkPfx_put_AlgorithmId: TCkPfx_put_AlgorithmId = nil;
  CkPfx_get_Pbes2CryptAlg: TCkPfx_get_Pbes2CryptAlg = nil;
  CkPfx_put_Pbes2CryptAlg: TCkPfx_put_Pbes2CryptAlg = nil;
  CkPfx_get_Pbes2HmacAlg: TCkPfx_get_Pbes2HmacAlg = nil;
  CkPfx_put_Pbes2HmacAlg: TCkPfx_put_Pbes2HmacAlg = nil;
  CkPfx_get_UncommonOptions: TCkPfx_get_UncommonOptions = nil;
  CkPfx_put_UncommonOptions: TCkPfx_put_UncommonOptions = nil;
  CkPfx_AddCert: TCkPfx_AddCert = nil;
  CkPfx_AddPrivateKey: TCkPfx_AddPrivateKey = nil;
  CkPfx_LoadPem: TCkPfx_LoadPem = nil;
  CkPfx_LoadPfxEncoded: TCkPfx_LoadPfxEncoded = nil;
  CkPfx_LoadPfxFile: TCkPfx_LoadPfxFile = nil;
  CkPfx_ToEncodedString: TCkPfx_ToEncodedString = nil;
  CkPfx_ToFile: TCkPfx_ToFile = nil;
  CkPfx_ToPem: TCkPfx_ToPem = nil;
  CkPfx_ToPemEx: TCkPfx_ToPemEx = nil;
  CkPfx_UseCertVault: TCkPfx_UseCertVault = nil;
  CkPfx_SetSafeBagAttr: TCkPfx_SetSafeBagAttr = nil;
  CkPfx_ImportToWindows: TCkPfx_ImportToWindows = nil;
  CkPfx_GetSafeBagAttr: TCkPfx_GetSafeBagAttr = nil;
  CkPfx_ImportToKeychain: TCkPfx_ImportToKeychain = nil;
  CkPfx_GetLastJsonData: TCkPfx_GetLastJsonData = nil;
  CkPfx_CertAt: TCkPfx_CertAt = nil;
  CkPfx_CertByLocalKeyId: TCkPfx_CertByLocalKeyId = nil;
  CkPfx_PrivateKeyAt: TCkPfx_PrivateKeyAt = nil;
  CkPfx_ToJksObj: TCkPfx_ToJksObj = nil;
  CkPfx_LoadPfxBd: TCkPfx_LoadPfxBd = nil;
  CkPfx_ToBd: TCkPfx_ToBd = nil;

constructor TPfx.Create;
begin
  inherited Create;
  FHandle := CkPfx_Create();
end;

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

function TPfx.GetLastErrorHtml: string;
begin
  Result := CkToStr(CkPfx_get_LastErrorHtml(FHandle));
end;

function TPfx.GetLastErrorText: string;
begin
  Result := CkToStr(CkPfx_get_LastErrorText(FHandle));
end;

function TPfx.GetLastErrorXml: string;
begin
  Result := CkToStr(CkPfx_get_LastErrorXml(FHandle));
end;

function TPfx.GetVersion: string;
begin
  Result := CkToStr(CkPfx_get_Version(FHandle));
end;

function TPfx.GetDebugLogFilePath: string;
begin
  Result := CkToStr(CkPfx_get_DebugLogFilePath(FHandle));
end;

procedure TPfx.SetDebugLogFilePath(AValue: string);
begin
  CkPfx_put_DebugLogFilePath(FHandle, PAnsiChar(StrToCk(AValue)));
end;

function TPfx.GetVerboseLogging: Boolean;
begin
  Result := Boolean(CkPfx_get_VerboseLogging(FHandle));
end;

procedure TPfx.SetVerboseLogging(AValue: Boolean);
begin
  CkPfx_put_VerboseLogging(FHandle, LongBool(AValue));
end;

function TPfx.GetLastMethodSuccess: Boolean;
begin
  Result := Boolean(CkPfx_get_LastMethodSuccess(FHandle));
end;

procedure TPfx.SetLastMethodSuccess(AValue: Boolean);
begin
  CkPfx_put_LastMethodSuccess(FHandle, LongBool(AValue));
end;

function TPfx.GetNumCerts: Integer;
begin
  Result := CkPfx_get_NumCerts(FHandle);
end;

function TPfx.GetNumPrivateKeys: Integer;
begin
  Result := CkPfx_get_NumPrivateKeys(FHandle);
end;

function TPfx.GetAlgorithmId: string;
begin
  Result := CkToStr(CkPfx_get_AlgorithmId(FHandle));
end;

procedure TPfx.SetAlgorithmId(AValue: string);
begin
  CkPfx_put_AlgorithmId(FHandle, PAnsiChar(StrToCk(AValue)));
end;

function TPfx.GetPbes2CryptAlg: string;
begin
  Result := CkToStr(CkPfx_get_Pbes2CryptAlg(FHandle));
end;

procedure TPfx.SetPbes2CryptAlg(AValue: string);
begin
  CkPfx_put_Pbes2CryptAlg(FHandle, PAnsiChar(StrToCk(AValue)));
end;

function TPfx.GetPbes2HmacAlg: string;
begin
  Result := CkToStr(CkPfx_get_Pbes2HmacAlg(FHandle));
end;

procedure TPfx.SetPbes2HmacAlg(AValue: string);
begin
  CkPfx_put_Pbes2HmacAlg(FHandle, PAnsiChar(StrToCk(AValue)));
end;

function TPfx.GetUncommonOptions: string;
begin
  Result := CkToStr(CkPfx_get_UncommonOptions(FHandle));
end;

procedure TPfx.SetUncommonOptions(AValue: string);
begin
  CkPfx_put_UncommonOptions(FHandle, PAnsiChar(StrToCk(AValue)));
end;

function TPfx.AddCert(cert: TChilkatBase; includeChain: Boolean): Boolean;
begin
  Result := Boolean(CkPfx_AddCert(FHandle, cert.Handle, LongBool(includeChain)));
end;

function TPfx.AddPrivateKey(privKey: TChilkatBase; certChain: TChilkatBase): Boolean;
begin
  Result := Boolean(CkPfx_AddPrivateKey(FHandle, privKey.Handle, certChain.Handle));
end;

function TPfx.LoadPem(const pemStr: string; const password: string): Boolean;
begin
  Result := Boolean(CkPfx_LoadPem(FHandle, PAnsiChar(StrToCk(pemStr)), PAnsiChar(StrToCk(password))));
end;

function TPfx.LoadPfxEncoded(const encodedData: string; const encoding: string; const password: string): Boolean;
begin
  Result := Boolean(CkPfx_LoadPfxEncoded(FHandle, PAnsiChar(StrToCk(encodedData)), PAnsiChar(StrToCk(encoding)), PAnsiChar(StrToCk(password))));
end;

function TPfx.LoadPfxFile(const path: string; const password: string): Boolean;
begin
  Result := Boolean(CkPfx_LoadPfxFile(FHandle, PAnsiChar(StrToCk(path)), PAnsiChar(StrToCk(password))));
end;

function TPfx.ToEncodedString(const password: string; const encoding: string): string;
begin
  Result := CkToStr(CkPfx_ToEncodedString(FHandle, PAnsiChar(StrToCk(password)), PAnsiChar(StrToCk(encoding))));
end;

function TPfx.ToFile(const password: string; const path: string): Boolean;
begin
  Result := Boolean(CkPfx_ToFile(FHandle, PAnsiChar(StrToCk(password)), PAnsiChar(StrToCk(path))));
end;

function TPfx.ToPem: string;
begin
  Result := CkToStr(CkPfx_ToPem(FHandle));
end;

function TPfx.ToPemEx(extendedAttrs: Boolean; noKeys: Boolean; noCerts: Boolean; noCaCerts: Boolean; const encryptAlg: string; const password: string): string;
begin
  Result := CkToStr(CkPfx_ToPemEx(FHandle, LongBool(extendedAttrs), LongBool(noKeys), LongBool(noCerts), LongBool(noCaCerts), PAnsiChar(StrToCk(encryptAlg)), PAnsiChar(StrToCk(password))));
end;

function TPfx.UseCertVault(vault: TChilkatBase): Boolean;
begin
  Result := Boolean(CkPfx_UseCertVault(FHandle, vault.Handle));
end;

function TPfx.SetSafeBagAttr(forPrivateKey: Boolean; index: Integer; const name: string; const value: string; const encoding: string): Boolean;
begin
  Result := Boolean(CkPfx_SetSafeBagAttr(FHandle, LongBool(forPrivateKey), index, PAnsiChar(StrToCk(name)), PAnsiChar(StrToCk(value)), PAnsiChar(StrToCk(encoding))));
end;

function TPfx.ImportToWindows(exportable: Boolean; userProtected: Boolean; machineKeyset: Boolean; allowOverwriteKey: Boolean; allowExport: Boolean; const leafStore: string; const intermediateStore: string; const rootStore: string; const extraOptions: string): Boolean;
begin
  Result := Boolean(CkPfx_ImportToWindows(FHandle, LongBool(exportable), LongBool(userProtected), LongBool(machineKeyset), LongBool(allowOverwriteKey), LongBool(allowExport), PAnsiChar(StrToCk(leafStore)), PAnsiChar(StrToCk(intermediateStore)), PAnsiChar(StrToCk(rootStore)), PAnsiChar(StrToCk(extraOptions))));
end;

function TPfx.GetSafeBagAttr(forPrivateKey: Boolean; index: Integer; const attrName: string): string;
begin
  Result := CkToStr(CkPfx_GetSafeBagAttr(FHandle, LongBool(forPrivateKey), index, PAnsiChar(StrToCk(attrName))));
end;

function TPfx.ImportToKeychain(opts: TChilkatBase): Boolean;
begin
  Result := Boolean(CkPfx_ImportToKeychain(FHandle, opts.Handle));
end;

procedure TPfx.GetLastJsonData(json: TChilkatBase);
begin
  CkPfx_GetLastJsonData(FHandle, json.Handle);
end;

function TPfx.CertAt(index: Integer; cert: TChilkatBase): Boolean;
begin
  Result := Boolean(CkPfx_CertAt(FHandle, index, cert.Handle));
end;

function TPfx.CertByLocalKeyId(const localKeyId: string; const encoding: string; cert: TChilkatBase): Boolean;
begin
  Result := Boolean(CkPfx_CertByLocalKeyId(FHandle, PAnsiChar(StrToCk(localKeyId)), PAnsiChar(StrToCk(encoding)), cert.Handle));
end;

function TPfx.PrivateKeyAt(index: Integer; privKey: TChilkatBase): Boolean;
begin
  Result := Boolean(CkPfx_PrivateKeyAt(FHandle, index, privKey.Handle));
end;

function TPfx.ToJksObj(const alias: string; const password: string; jksObj: TChilkatBase): Boolean;
begin
  Result := Boolean(CkPfx_ToJksObj(FHandle, PAnsiChar(StrToCk(alias)), PAnsiChar(StrToCk(password)), jksObj.Handle));
end;

function TPfx.LoadPfxBd(bd: TChilkatBase; const password: string): Boolean;
begin
  Result := Boolean(CkPfx_LoadPfxBd(FHandle, bd.Handle, PAnsiChar(StrToCk(password))));
end;

function TPfx.ToBd(const password: string; bd: TChilkatBase): Boolean;
begin
  Result := Boolean(CkPfx_ToBd(FHandle, PAnsiChar(StrToCk(password)), bd.Handle));
end;

initialization
  Chilkat_GetProcedureAddress(CkPfx_Create,  'CkPfx_Create');
  Chilkat_GetProcedureAddress(CkPfx_Dispose, 'CkPfx_Dispose');
  Chilkat_GetProcedureAddress(CkPfx_get_LastErrorHtml, 'CkPfx_get_LastErrorHtml');
  Chilkat_GetProcedureAddress(CkPfx_get_LastErrorText, 'CkPfx_get_LastErrorText');
  Chilkat_GetProcedureAddress(CkPfx_get_LastErrorXml, 'CkPfx_get_LastErrorXml');
  Chilkat_GetProcedureAddress(CkPfx_get_Version, 'CkPfx_get_Version');
  Chilkat_GetProcedureAddress(CkPfx_get_DebugLogFilePath, 'CkPfx_get_DebugLogFilePath');
  Chilkat_GetProcedureAddress(CkPfx_put_DebugLogFilePath, 'CkPfx_put_DebugLogFilePath');
  Chilkat_GetProcedureAddress(CkPfx_get_VerboseLogging, 'CkPfx_get_VerboseLogging');
  Chilkat_GetProcedureAddress(CkPfx_put_VerboseLogging, 'CkPfx_put_VerboseLogging');
  Chilkat_GetProcedureAddress(CkPfx_get_LastMethodSuccess, 'CkPfx_get_LastMethodSuccess');
  Chilkat_GetProcedureAddress(CkPfx_put_LastMethodSuccess, 'CkPfx_put_LastMethodSuccess');
  Chilkat_GetProcedureAddress(CkPfx_get_NumCerts, 'CkPfx_get_NumCerts');
  Chilkat_GetProcedureAddress(CkPfx_get_NumPrivateKeys, 'CkPfx_get_NumPrivateKeys');
  Chilkat_GetProcedureAddress(CkPfx_get_AlgorithmId, 'CkPfx_get_AlgorithmId');
  Chilkat_GetProcedureAddress(CkPfx_put_AlgorithmId, 'CkPfx_put_AlgorithmId');
  Chilkat_GetProcedureAddress(CkPfx_get_Pbes2CryptAlg, 'CkPfx_get_Pbes2CryptAlg');
  Chilkat_GetProcedureAddress(CkPfx_put_Pbes2CryptAlg, 'CkPfx_put_Pbes2CryptAlg');
  Chilkat_GetProcedureAddress(CkPfx_get_Pbes2HmacAlg, 'CkPfx_get_Pbes2HmacAlg');
  Chilkat_GetProcedureAddress(CkPfx_put_Pbes2HmacAlg, 'CkPfx_put_Pbes2HmacAlg');
  Chilkat_GetProcedureAddress(CkPfx_get_UncommonOptions, 'CkPfx_get_UncommonOptions');
  Chilkat_GetProcedureAddress(CkPfx_put_UncommonOptions, 'CkPfx_put_UncommonOptions');
  Chilkat_GetProcedureAddress(CkPfx_AddCert, 'CkPfx_AddCert');
  Chilkat_GetProcedureAddress(CkPfx_AddPrivateKey, 'CkPfx_AddPrivateKey');
  Chilkat_GetProcedureAddress(CkPfx_LoadPem, 'CkPfx_LoadPem');
  Chilkat_GetProcedureAddress(CkPfx_LoadPfxEncoded, 'CkPfx_LoadPfxEncoded');
  Chilkat_GetProcedureAddress(CkPfx_LoadPfxFile, 'CkPfx_LoadPfxFile');
  Chilkat_GetProcedureAddress(CkPfx_ToEncodedString, 'CkPfx_ToEncodedString');
  Chilkat_GetProcedureAddress(CkPfx_ToFile, 'CkPfx_ToFile');
  Chilkat_GetProcedureAddress(CkPfx_ToPem, 'CkPfx_ToPem');
  Chilkat_GetProcedureAddress(CkPfx_ToPemEx, 'CkPfx_ToPemEx');
  Chilkat_GetProcedureAddress(CkPfx_UseCertVault, 'CkPfx_UseCertVault');
  Chilkat_GetProcedureAddress(CkPfx_SetSafeBagAttr, 'CkPfx_SetSafeBagAttr');
  Chilkat_GetProcedureAddress(CkPfx_ImportToWindows, 'CkPfx_ImportToWindows');
  Chilkat_GetProcedureAddress(CkPfx_GetSafeBagAttr, 'CkPfx_GetSafeBagAttr');
  Chilkat_GetProcedureAddress(CkPfx_ImportToKeychain, 'CkPfx_ImportToKeychain');
  Chilkat_GetProcedureAddress(CkPfx_GetLastJsonData, 'CkPfx_GetLastJsonData');
  Chilkat_GetProcedureAddress(CkPfx_CertAt, 'CkPfx_CertAt');
  Chilkat_GetProcedureAddress(CkPfx_CertByLocalKeyId, 'CkPfx_CertByLocalKeyId');
  Chilkat_GetProcedureAddress(CkPfx_PrivateKeyAt, 'CkPfx_PrivateKeyAt');
  Chilkat_GetProcedureAddress(CkPfx_ToJksObj, 'CkPfx_ToJksObj');
  Chilkat_GetProcedureAddress(CkPfx_LoadPfxBd, 'CkPfx_LoadPfxBd');
  Chilkat_GetProcedureAddress(CkPfx_ToBd, 'CkPfx_ToBd');

end.
