Big Sur: проблемы с librtpkcs11ecp.dylib и sc_auth identities

Пытаюсь установить рутокен lite в Big Sur согласно инструкциям:

https://dev.rutoken.ru/pages/viewpage.a … d=72451422
https://dev.rutoken.ru/pages/viewpage.a … d=72451753

Устройство определяется

pcsctest

MUSCLE PC/SC Lite Test Program

Testing SCardEstablishContext    : Command successful.
Testing SCardGetStatusChange
Please insert a working reader   : Command successful.
Testing SCardListReaders         : Command successful.
Reader 01: Aktiv Rutoken lite
Enter the reader number          : 1
Waiting for card insertion
                                 : Command successful.
Testing SCardConnect             : Command successful.
Testing SCardStatus              : Command successful.
Current Reader Name              : Aktiv Rutoken lite
Current Reader State             : 0x54
Current Reader Protocol          : 0x1
Current Reader ATR Size          : 15 (0xf)
Current Reader ATR Value         : 3B 8B 01 52 75 74 6F 6B 65 6E 6C 69 74 65 C2
Testing SCardDisconnect          : Command successful.
Testing SCardReleaseContext      : Command successful.
Testing SCardEstablishContext    : Command successful.
Testing SCardGetStatusChange
Please insert a working reader   : Command successful.
Testing SCardListReaders         : Command successful.
Reader 01: Aktiv Rutoken lite
Enter the reader number          : 1
Waiting for card insertion
                                 : Command successful.
Testing SCardConnect             : Command successful.
Testing SCardStatus              : Command successful.
Current Reader Name              : Aktiv Rutoken lite
Current Reader State             : 0x54
Current Reader Protocol          : 0x1
Current Reader ATR Size          : 15 (0xf)
Current Reader ATR Value         : 3B 8B 01 52 75 74 6F 6B 65 6E 6C 69 74 65 C2
Testing SCardDisconnect          : Command successful.
Testing SCardReleaseContext      : Command successful.

PC/SC Test Completed Successfully !

Даже попап от связки ключей появляется, что токен подключен.

Однако команда sc_auth identities не возвращает ничего.

Команды pkcs11-tool также не работают, т. к. не могут загрузить dylib:

pkcs11-tool --module /usr/local/lib/librtpkcs11ecp.dylib -T
sc_dlopen failed: dlopen(/usr/local/lib/librtpkcs11ecp.dylib, 1): no suitable image found.  Did find:
    /usr/local/lib/librtpkcs11ecp.dylib: code signature in (/usr/local/lib/librtpkcs11ecp.dylib) not valid for use in process using Library Validation: mapping process and mapped file (non-platform) have different Team IDs
error: Failed to load pkcs11 module
Aborting.
pkcs11-tool --module /Library/Aktiv\ Co/Rutoken\ ECP/lib/librtpkcs11ecp.dylib -T
sc_dlopen failed: dlopen(/Library/Aktiv Co/Rutoken ECP/lib/librtpkcs11ecp.dylib, 1): no suitable image found.  Did find:
    /Library/Aktiv Co/Rutoken ECP/lib/librtpkcs11ecp.dylib: code signature in (/Library/Aktiv Co/Rutoken ECP/lib/librtpkcs11ecp.dylib) not valid for use in process using Library Validation: mapping process and mapped file (non-platform) have different Team IDs
error: Failed to load pkcs11 module
Aborting.

Судя по всему, какой-то косяк с подписями библиотеки, и в интернете ни у кого этой проблемы якобы нет. Что можно сделать? Инструкция не предлагает никаких вариантов.

Re: Big Sur: проблемы с librtpkcs11ecp.dylib и sc_auth identities

Здравствуйте, nyasnov.
Вы пытаетесь применить инструкцию по настройке Рутокен ЭЦП для настройки носителя Рутокен lite, вам нужно пользоваться руководством: "Работа с Рутокен Lite в операционных системах macOS"
Судя по отчету команды "pcsctest" ваш носитель настроен и готов к работе.
Уточните, пожалуйста, какая перед вами стоит цель?

Re: Big Sur: проблемы с librtpkcs11ecp.dylib и sc_auth identities

Да, я пользуюсь этой инструкцией и хочу для начала сменить пароль командой

pkcs11-tool --module {A} --login --pin {B} --change-pin --new-pin {C}

Но не получается по вышеописанным причинам.

Цель — работа в личном кабинете ИП.
При проверке наличия возможности использования ЭП сайт сообщает следующее:
[OK] Установлен и настроен плагин для браузера «КриптоПро ЭЦП Browser plug-in» версии 2.0.12438 и выше.
[OK] Установлен криптопровайдер с поддержкой алгоритмов шифрования ГОСТ 34.10-2001, ГОСТ 28147-89, ГОСТ Р 34.11-2012 (например, сертифицированная версия КриптоПро CSP 4.0 R3)
[не OK] В хранилище сертификатов «Личные» установлен КСКПЭП, выданный индивидуальному предпринимателю удостоверяющим центром.
Получите и установите личный сертификат индивидуального предпринимателя.
Убедитесь, что КСКПЭП не просрочен и установлен в хранилище сертификатов «Личные». Рекомендуем вручную проверить доступ к сертификату в хранилице «Личные». Для этого выберите Пуск - Выполнить, ввести «certmgr.msc» и нажать Enter. В левой части открывшегося окна выберите папку «Личные»- «Реестр» -«Сертификаты». В правой части в списке должен находиться личный сертификат (см. п.«Как проверить установку сертификатов?» в «Руководство по установке и настройке программного обеспечения для работы с электронной подписью»)

Из чего делаю вывод, что система не может найти сертификат, а ошибки с загрузкой dylib намекают, что какие-то проблемы с токеном.

Re: Big Sur: проблемы с librtpkcs11ecp.dylib и sc_auth identities

nyasnov, чтобы работать с Рутокен Lite и КриптоПро CSP, библиотека PKCS11 не нужна.

Чтобы установить в личное хранилище сертификат, откройте Терминал и выполните команды:
1) Просмотр и установка сертификатов с носителя ключа в хранилище "Личные"( My ):

/opt/cprocsp/bin/csptestf -absorb -certs

2) Установить сертификат из файла в хранилище личные (MY):

/opt/cprocsp/bin/certmgr -inst -store my -f ~/downloads/name.cer

Re: Big Sur: проблемы с librtpkcs11ecp.dylib и sc_auth identities

Павел Анфимов пишет:

nyasnov, чтобы работать с Рутокен Lite и КриптоПро CSP, библиотека PKCS11 не нужна.

Чтобы установить в личное хранилище сертификат, откройте Терминал и выполните команды:
1) Просмотр и установка сертификатов с носителя ключа в хранилище "Личные"( My ):

/opt/cprocsp/bin/csptestf -absorb -certs

2) Установить сертификат из файла в хранилище личные (MY):

/opt/cprocsp/bin/certmgr -inst -store my -f ~/downloads/name.cer

Спасибо, заработало. Однако пришлось сделать дополнительные телодвижения:

1.

/opt/cprocsp/bin/csptestf -absorb -certs

— сработало
2.

/opt/cprocsp/bin/certmgr -inst -store my -f ~/downloads/name.cer

— непонятно, о каком name.cer идёт речь. Откуда этот сертификат предполагается брать? В гугле нашёл, что, оказывается, у людей рутокен видится, как флэшка, а у меня в Finder его нет, да и в /Volumes пусто, и в diskutil list. Поэтому этот шаг пришлось опустить за отсутствием сертификата.

Оказывается, установщик КриптоПро устанавливает дополнительные программы аж с GUI, в которых всё можно сделать (/opt/cprocsp/bin/cptools). На вкладке Контейнеры выбираем контейнер с токена и жмём «Установить сертификат». Пока я этого не сделал, ЛК ИП выдавал ошибку подписи: Failed to sign hash: Internal error. (0x8009200B).

Re: Big Sur: проблемы с librtpkcs11ecp.dylib и sc_auth identities

nyasnov пишет:

Оказывается, установщик КриптоПро устанавливает дополнительные программы аж с GUI, в которых всё можно сделать

Да, как установить личные сертификаты через терминал и через графический интерфейс описано в нашей инструкции по ссылке.

Re: Big Sur: проблемы с librtpkcs11ecp.dylib и sc_auth identities

Добрый вечер, не могу получить сертификат для авторизации в удаленном репозитории через git

токен определяется корректно, через браузер подключится могу.

Как получить сертификат для подключения через клиент git?



MUSCLE PC/SC Lite Test Program

Testing SCardEstablishContext    : Command successful.
Testing SCardGetStatusChange
Please insert a working reader   : Command successful.
Testing SCardListReaders         : Command successful.
Reader 01: Aktiv Rutoken ECP
Enter the reader number          : 1
Waiting for card insertion
                                 : Command successful.
Testing SCardConnect             : Command successful.
Testing SCardStatus              : Command successful.
Current Reader Name              : Aktiv Rutoken ECP
Current Reader State             : 0x54
Current Reader Protocol          : 0x1
Current Reader ATR Size          : 15 (0xf)
Current Reader ATR Value         : 3B 8B 01 52 75 74 6F 6B 65 6E 20 44 53 20 C1
Testing SCardDisconnect          : Command successful.
Testing SCardReleaseContext      : Command successful.
Testing SCardEstablishContext    : Command successful.
Testing SCardGetStatusChange
Please insert a working reader   : Command successful.
Testing SCardListReaders         : Command successful.
Reader 01: Aktiv Rutoken ECP
Enter the reader number          : 1
Waiting for card insertion
                                 : Command successful.
Testing SCardConnect             : Command successful.
Testing SCardStatus              : Command successful.
Current Reader Name              : Aktiv Rutoken ECP
Current Reader State             : 0x54
Current Reader Protocol          : 0x1
Current Reader ATR Size          : 15 (0xf)
Current Reader ATR Value         : 3B 8B 01 52 75 74 6F 6B 65 6E 20 44 53 20 C1
Testing SCardDisconnect          : Command successful.
Testing SCardReleaseContext      : Command successful.

PC/SC Test Completed Successfully !

Согласно инструкции https://dev.rutoken.ru/pages/viewpage.a … d=72451422
на этапе

pkcs11-tool --module {A} -T

получаю ошибку

sc_dlopen failed: dlopen(/usr/local/lib/librtpkcs11ecp.dylib, 1): no suitable image found.  Did find:
    /usr/local/lib/librtpkcs11ecp.dylib: mach-o, but wrong architecture
    /Library/Aktiv Co/Rutoken ECP/lib/librtpkcs11ecp.dylib: mach-o, but wrong architecture
error: Failed to load pkcs11 module

при запросе

pkcs11-tool --login --test

получаю

error: PKCS11 function C_GetSlotInfo failed: rv = CKR_FUNCTION_NOT_SUPPORTED (0x54)

как можно решить задачу?
Спасибо!

Re: Big Sur: проблемы с librtpkcs11ecp.dylib и sc_auth identities

Добрый день.
У вас компьютер на процессоре M1?
Попробуйте запустить команду следующим образом:
arch -x86_64 pkcs11-tool --module /usr/local/lib/librtpkcs11ecp.dylib -T

Re: Big Sur: проблемы с librtpkcs11ecp.dylib и sc_auth identities

Добрый вечер

Аверченко Кирилл пишет:

У вас компьютер на процессоре M1?

да

Попробуйте запустить команду следующим образом:
arch -x86_64 pkcs11-tool --module /usr/local/lib/librtpkcs11ecp.dylib -T

ошибка

arch: posix_spawnp: pkcs11-tool: Bad CPU type in executable

что еще можно сделать?

Re: Big Sur: проблемы с librtpkcs11ecp.dylib и sc_auth identities

Попробуйте установить транслятор Rosetta 2 для запуска x86_x64 программ на процессоре M1 командой:

/usr/sbin/softwareupdate --install-rosetta

И повторить запуск.

(2021-02-10 20:29:13 отредактировано aak)

Re: Big Sur: проблемы с librtpkcs11ecp.dylib и sc_auth identities

Добрый вечер.
rosetta была установлена, повторно данная команда ни чего не изменила
ошибка та же

arch: posix_spawnp: pkcs11-tool: Bad CPU type in executable

например данная команда

arch --x86_64 brew list

работает корректно

Re: Big Sur: проблемы с librtpkcs11ecp.dylib и sc_auth identities

Добрый день.
Какую версию opensc вы используете? 0.21?
Можете попробовать на версии 0.20?

(2021-02-11 21:25:45 отредактировано aak)

Re: Big Sur: проблемы с librtpkcs11ecp.dylib и sc_auth identities

Добрый вечер.

Да, спасибо это сработало

подскажите пожалуйста как действовать дальше
на линуксе я делаю так

p11tool --login --list-all 'pkcs11:model=Rutoken%20ECP;type=cert?pin-value=0000' # pin-value=<pincode>

получений результат вставляю

git -c http.sslCert='полученный выше результат?pin-value=0000' clone abcd.git

Re: Big Sur: проблемы с librtpkcs11ecp.dylib и sc_auth identities

Здравствуйте.
p11tool есть и для MacOS. Устанавливается командой brew install gnutls.
Или при ее использовании возникают ошибки?
В конфигурационном файле необходимо только указать путь к нашей библиотеке librtpkcs11ecp.dylib.

Re: Big Sur: проблемы с librtpkcs11ecp.dylib и sc_auth identities

Добрый вечер.

p11tool --provider=/usr/local/lib/librtpkcs11ecp.dylib --login --list-all 'pkcs11:model=Rutoken%20ECP;type=cert?pin-value=0000' # pin-value=<pincode>

ошибка

pkcs11_add_provider: PKCS #11 initialization error.