Лабораторный практикум по изучению возможностей и приобретению практических навыков разработки приложений с использованием смарт-карт ASE фирмы Athena Smartcard Solutions Ltd. Бабенко Л.К - 14 стр.

UptoLike

Создание приложений и файлов на карте
Аналогично работе с данными, хранящимися на рабочей станции, наи-
более часто используемыми функциями являются функции создания, выбора
директорий (приложений) и файлов, чтения и записи данных в выбранный
файл. Главным же отличием работы с картой является требование обязательно-
го предъявления ключей для доступа к той
или иной информации (если, конеч-
но, на этапе персонализации карты предусмотрена защита этих данных при по-
мощи соответствующих ключей). Рассмотрим теперь, как работают функции
создания приложений и файлов.
printf( "\nСоздаем файл с 1 на главном уровне карты.\n" );
AseResult = ASEHLCreateFile( hAseCard, byCardMainKey,
FileProperties1);
if(AseResult != 0)
{
ASEReaderClose(hAseReader);
exit(1);
}
printf( "Для продолжения нажмите любую клавишу.\n" );
getch();
При вызове функции необходимо
указать хэндл карты, на которой соз-
дается файл, Главный ключ соответствующего уровня (Главного уровня карты
при создании файла на этом уровне или Главного ключа приложения при созда-
нии файла в приложении) и передать указатель на запись типа FILEPROPER-
TIES, описывающую свойства файла. Эта запись должна заполняться заранее.
// Запись свойств для файла
1 //
Студенческая идентификация (созданного на главном уровне карты)
FileProperties1.wID = 0x01; // Идентификатор файла
FileProperties1.wBytesAllocated = 32; // Размер файла
FileProperties1.wWriteConditions = AC_PIN_AND_MAIN_KEY;
// Условия записи
FileProperties1.wWriteKeyNumber = 0; // Номер ключа доступа на запись
FileProperties1.wReadConditions = AC_NONE; //Условия чтения
FileProperties1.wReadKeyNumber = 0;// Номер ключа доступа на чтение
В отличие от файлов при создании приложений параметры указывают-
ся непосредственно в теле команды.
// Создание Приложения Номер 1:
// ID: 0x01
// Размер: 20 байт ( 10
байт отводится под файл 2 ).
14