Современные ключи Guardant, начиная с Guardant Sign, позволяют защищать приложения, запускаемые в ОС GNU/Linux на аппаратных платформах i386 и x86_64. Для этого в комплект разработчика включены статические библиотеки (ELF) libgrdapi.a соответствующей разрядности, которые реализуют Guardant API.
Кроме того, поддерживается запуск защищенных Windows-прило-жений с использованием Wine (www.winehq.org) - свободной реализации Windows API. Для этого в комплект разработчика включен проект динамической библиотеки для Wine — GrdWine, распространяемый под свободной лицензией GNU Lesser General Public License version 2.1 (поставляется в виде пакета с исходными кодами – grdwine-0.5.4.tar.gz).
Ключи работают в OC GNU/Linux (в том числе, в HID-режиме) без установки дополнительных драйверов и демонов, требуя лишь обеспечить имя и разрешение доступа к файлу устройства. Для обращения к ключу используются соответственно Linux USB Device Filesystem или Linux USB HID Device Interface (в случае HID-режима). В комплект разработчика включены наборы правил для систем регистрации устройств и описание требований для случаев нетипичного конфигурирования (см. ниже раздел Имена и доступ к устройствам).
Для сборки защищаемого приложения, необходимо скомпоновать (слинковать) защищаемое приложение со статической библиотекой Guardant API.
Рекомендуется использовать компилятор GCC 4-ой версии, однако, возможно использовать и более ранние версии GCC, и другие компиляторы, например, Intel C++ Compiler (ICC).
Для компиляции с библиотекой Guardant API необходимо выполнить следующее (на примере файла с исходным текстом программы — foobar.c):
$ gcc [-I<путь_к_заголовочному_файлу_GrdAPI.h>] -c foobar.c -o foobar.o
$ gcc [-L<путь_к_библиотеке_libgrdapi.a>] foobar.o -o foobar -lpthread -lgrdapi
или
$ gcc [-I<путь_к_заголовочному_файлу_GrdAPI.h>][-L<путь_к_библиотеке_libgrdapi.a>] foobar.c -o foobar-lgrdapi –lpthread
Обратите внимание, что библиотека Guardant API использует библиотеку pthread - POSIX Threads, поэтому для компоновки приложений необходимо использовать соответствующую библиотеку.
Подсоедините ключ Guardant к USB-порту компьютера, защищенное приложение готово к работе.
Библиотека grdwine.dll.so, реализующая работу с ключами Guardant для защищенных Windows-приложений под Wine, поставляется в виде исходных кодов (см. grdwine-0.5.4.tar.gz). Это, в принципе, позволяет ее использовать с любой версией Wine, достаточно просто собрать библиотеку из исходных кодов.
Важная информация
Рекомендуемая к использованию версия Wine — 1.x.x. Корректная работа с более ранними версиями Wine не гарантируется. Загрузить последнюю версию Wine можно по адресу: http://www.winehq.org/site/download
$ tar xvf grdwine-0.5.4.tar.gz
$ cd grdwine-0.5.4
$ ./configure -with-wineincs=/usr/include/wine-with-winedlls=/usr/lib/wine
$ make
Для настройки Guardant API под GNU/Linux следует пользоваться следующими переменными окружения:
GRD_IPC_NAME | директория, в которой процессы будут создавать/открывать для чтения и записи файлы, используемые для синхронизации доступа к ключу. Если переменная не задана, используется значение по умолчанию (/tmp) |
USB_DEVFS_PATH | директория Linux USB Device Filesystem (точка монтирования или директория, содержащая дерево соответствующих устройств). |