Код: Выделить всё
uses
PKCS11Lib, PKCS11Slot, PKCS11Token;
var
PKCS11: TPKCS11;
Slot: TPKCS11Slot;
Token: TPKCS11Token;
SerialNumber, OwnerName: string;
begin
try
PKCS11 := TPKCS11.Create('C:\Windows\System32\pkcs11.dll');
try
Slot := PKCS11.GetSlot(0);
if Assigned(Slot) then
begin
Token := Slot.GetToken;
if Assigned(Token) then
begin
SerialNumber := Token.GetSerialNumber;
OwnerName := Token.GetOwnerName;
ShowMessage('Серийный номер: ' + SerialNumber + #13#10 + 'Имя владельца: ' + OwnerName);
end;
end;
finally
PKCS11.Free;
end;
except
ShowMessage('Ошибка чтения данных с Rutoken');
end;
end;
Обратите внимание, что для использования этого кода необходимо, чтобы на компьютере был установлен Rutoken и Delphi. Также необходимо указать правильный путь к библиотеке PKCS#11.