Page tree

Для отладки приложений использующих интерфейс PKCS#11 можно использовать утилиту PKCS11-SPY.

Это переработанная версия утилиты, входящей в проект OpenSC и отличается от нее поддержкой расширенного интерфейса. 

Утилита выводит лог PKCS#11 вызовов в формате текстового файла.

1. Подготовка файлов

Заменим оригинальную библиотеку на библиотеку-шпион, для этого:

1. Загрузите архив с Рутокен SDK

2. Разархивируйте содержимое, утилита PKCS11-SPY находится в папке <sdk>\pkcs11\util\pkcs11-spy

3. Выберите версию ОС и разрядность в соответствии с разрядностью приложения

  • Рутокен Плагин использует 32х разрядную библиотеку PKCS#11
  • Драйверы Рутокен содержат обе библиотеки. Какая используется – зависит от разрядности отлаживаемого приложения.

4. Найдите папку с библиотекой PKCS#11 (rtPKCS11ECP), которую использует приложение:

  • для Рутокен Плагин - C:\Users\Имя_пользователя\AppData\Roaming\Aktiv Co\CryptoPlugin\4.4.1.0
  • для Драйверов Рутокен:  C:\Windows\System32\ или C:\Windows\SysWOW64\

5. Переименуйте оригинальную библиотеку PKCS#11 (rtPKCS11ECP), например, в rtPKCS11ECP-orig

6. Скопируйте rtpkcs11-spy.dll(.dylib или .so) из разархивированной папки в папку с оригинальной библиотекой PKCS#11 (rtPKCS11ECP)

7. Переименуйте библиотеку-шпион, задав ей имя оригинальной библиотеки PKCS#11 (rtPKCS11ECP)

2. Настройка утилиты

Теперь укажем утилите путь до оригинальной библиотеки и путь, куда будет записываться лог-файл.

Для Windows

Для 32 битных приложений

В реестре установить в строковый параметр HKLM\Software\Aktiv Co.\Rutoken\rtPKCS11-Spy\Module путь к оригинальной библиотеке PKCS#11 (rtPKCS11ECP-orig).

В реестре установить в строковый параметр HKLM\Software\Aktiv Co.\Rutoken\rtPKCS11-Spy\Output путь к лог файлу, в который будет записываться последовательность вызовов PKCS#11 функций.

Для 64 битных приложений

В реестре установить в строковый параметр HKLM\Software\Aktiv Co.\Rutoken\rtPKCS11-Spy\Module путь к оригинальной библиотеке PKCS#11 (rtPKCS11ECP-orig).

В реестре установить в строковый параметр HKLM\Software\Aktiv Co.\Rutoken\rtPKCS11-Spy\Output путь к лог файлу, в который будет записываться последовательность вызовов PKCS#11 функций.

Для Linux и macOS

записать в системные переменные 

RT_PKCS11SPY - путь к оригинальной библиотеке PKCS#11 (rtPKCS11ECP-orig)

RT_PKCS11SPY_OUTPUT - путь к лог файлу, в который будет записываться последовательность вызовов PKCS#11 функций.

Например:

  • для Linux
    RT_PKCS11SPY=/opt/aktivco/rutokenecp/lib/librtpkcs11ecp-orig.so
    RT_PKCS11SPY_OUTPUT=/home/user/Desktop/logfile.txt

  • для Mac
    RT_PKCS11SPY=/Library/Aktiv\ Co/Rutoken\ ECP/lib/librtpkcs11ecp-orig.dylib
    RT_PKCS11SPY_OUTPUT=/Users/user/Desktop/logfile.txt

3. Воспроизведение сценария

Выполните действия, которые необходимо залогировать. Если логи нужны для решения ошибки - выполните действия, которые приводят к этой ошибке.

Если требуется воспроизвести сценарий в браузере, перед воспроизведением ошибки, перезапустите браузер.


4. Файл логов

Убедитесь, что файл rtpkcs11-spy.log с логами создан по адресу, указанному во 2 пункте. 


5. Переименование библиотеки

Удалите библиотеку-шпион из папки с оригинальной библиотекой и переименуйте оригинальную библиотеку обратно. 



  • No labels