Добрый день.
Начальство дало наказ внедрить проверку пин etoken в наших программах.
Начал разбираться с PKCS#11.
НО не все получается.
Хочу для начала прочитать данные библиотеки
вопрос
хочу прочитать данные библиотеки, но выдается белибирда.
Код:
procedure TForm1.Button1Click(Sender: TObject);
type
CK_C_Initialize1 = ^C_Initialize;
CK_C_Finalize1 = ^C_Finalize;
CK_C_GetInfo1 = ^C_GetInfo;
CK_C_GetFunctionList1 = ^C_GetFunctionList;
var
Init: CK_C_Initialize1;
Fin: CK_C_Finalize1;
GInfo: CK_C_GetInfo1;
GetFuncList : CK_C_GetFunctionList1;
DLLETOKEN : THandle;
Init1 : CK_INFO;
begin
//загружаем DLL-ку
DLLETOKEN := LoadLibrary(PChar('eTpkcs11.dll'));
//загрузилась ли...
if (DLLETOKEN = 0) then begin
MessageDlg('Невозможно загрузить DLL', mtError, [mbOK], 0);
Exit;
end;
Init:= GetProcAddress(DLLETOKEN,'C_Initialize');
Fin:= GetProcAddress(DLLETOKEN,'C_Finalize');
GInfo := GetProcAddress(DLLETOKEN,'C_GetInfo');
GetFuncList := GetProcAddress(DLLETOKEN,'C_GetFunctionList');
if Assigned(Init) then
begin
Label1.Caption:= Inttostr(Init1.cryptokiVersion.major);
Label2.Caption:= InttoStr(Init1.cryptokiVersion.minor);
label3.Caption:= InttoStr(init1.libraryVersion.major);
label4.Caption:= InttoStr(init1.libraryVersion.minor);
end;
Админ: Пользуемся тегами для оформления кода!
надо как то по идее связать FIN и Init1. но как?