Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

titleОглавление...

Table of Contents


RtPcsc - фреймворк для работы с Рутокен ЭЦП Bluetooth, виртуальными считывателями Рутокен VCR, а также NFC-устройствами семейства Рутокен ЭЦП.

...

  • в Info.plist добавить ключ ISO7816 application identifiers for NFC Tag Reader Session со значениями:

    Code Block
    languagexmltitle
    <!-- Info.plist
     -->
    <key>com.apple.developer.nfc.readersession.iso7816.select-identifiers</key>
    <array>
        <string>F0000000005275746F6B656E</string>
        <string>A00000039742544659</string>
    </array>
  • в Info.plist добавить ключ NFCReaderUsageDescription с описанием причины необходимости доступа, например: Доступ необходим для работы с NFC

    Code Block
    languagexmltitle
    <!-- Info.plist
     -->
    <key>NFCReaderUsageDescription</key>
    <string>Allow NFC scanning</string>
  • в Entitlements.plist добавить ключ com.apple.developer.nfc.readersession.formats со значением:

    Code Block
    languagexmltitle
    <!-- Entitlements.plist
     -->
    <key>com.apple.developer.nfc.readersession.formats</key>
    <array>
        <string>TAG</string>
    </array>

...

  1. в Info.plist добавить ключ Bonjour services со значениями:

    Code Block
    languagexml
    titleEntitlements.plist
    <!-- Info.plist -->
    <key>NSBonjourServices</key>
    <array>
        <string>_ru-rutoken-vcr._udp</string>
        <string>_ru-rutoken-vcr._tcp</string>
    </array>
  2. в Info.plist добавить ключ Privacy - Local Network Usage Description с описанием причины необходимости доступа, например: Доступ необходим для работы с VCR

    Code Block
    languagexml
    titleEntitlements.plist
    <!-- Info.plist -->
    <key>NSLocalNetworkUsageDescription</key>
    <string>Доступ необходим для работы с виртуальным считывателем Рутокен</string>
  3. Работа в приложениях с VCR API на macOS в режиме совместимости с iPad
    Чтобы в приложении для iPadOS, когда оно запускается в режиме совместимости на macOS, работал VCR API необходимо:

    Добавить в Entitlements.plist ключ keychain-access-groups.

...

Описание интерфейса RtPcsc для работы с NFC/VCR

title
Warning

Изменилось поведение функции SCardGetStatusChange

Начиная с версии RtPcsc 5.0.0 для обнаружения нового считывателя с помощью "\\?PnP?\Notification", необходимо указывать количество уже известных приложению считывателей в верхнем слове dwCurrentState.

Например, так:

SCARD_READERSTATE state;
state.szReader = "\\\\?PnP?\\Notification";
state.dwCurrentState = (1 << 16);

Если ожидаемое приложением количество считывателей не совпадет с реальным, управление будет сразу же возвращено, а в верхнем слове dwEventState будет содержаться текущее количество считывателей.

Пример работы с функцией SCardGetStatusChange, учитывающий поведение описанное на GitHub.

...