Очередные проблемы с импортом ключей и сертификатов

рутокен ецп, как обычно, радует пока его не трогаешь.

opensc 0.13, импортирую сертификат WebMoney взамест предыдущего. (Предыдущий был удален) На error можно не смотреть , пересоздание .p12 без пароля ситуацию не меняет.

pkcs15-init --store-private-key WM2018.p12 --format pkcs12 --auth-id 02 --ignore-ca-certificates
Using reader with a card: Aktiv Rutoken ECP 00 00
error:23076071:PKCS12 routines:PKCS12_parse:mac verify failure
Please enter passphrase to unlock secret key: 
Importing 1 certificates:
  0: /O=WebMoney Transfer/OU=WebMoney Certification Center/CN=WM id: 1234567890/emailAddress=1234567890@gmail.com
User PIN [****] required.
Please enter User PIN [****]: 
Failed to store public key: File already exists

Что вообще означает «File already exists» в данном случае? Надеюсь, совета пересоздать все с нуля не воспоследует хотя бы на этот раз? :)

Re: Очередные проблемы с импортом ключей и сертификатов

посмотрите какие у вас есть объекты через pkcs15-tool, возможно действительно нужно будет какой-нибудь объект удалить, чтобы ваш сценарий отработал.

Мы вообще то, утилиты opensc не поддерживаем. Лучше бы вы конечно импортировали бы объекты через pkcs11-tool и нашу библиотеку rtpkcs11ecp, тогда было бы гораздо понятнее и проще.
Для вас какой смысл использовать именно pkcs15-init, а потом opensc-pkcs11 ?

Re: Очередные проблемы с импортом ключей и сертификатов

кроме card и pin* объектов на токене есть только x509+pub+priv для pam_p11 и pub+priv для авторизации по ssh. Возможно, там есть и еще объекты какие-то, но как их посмотреть, окромя pkcs11-tool -O и pkcs15-tool -D – я не в курсе.

про библиотеку rtpkcs11ecp – насколько я помню это не открытый код? Он предлагает какую-то нужную мне функциональность, отсутствующую в opensc? А оно есть в моем пакетном менеджере? Дальше я продолжать не буду, Вы сами понимаете, что это не взрослое решение а так, типа хелловорлд.

>Мы … opensc не поддерживаем. Лучше бы … через pkcs11-tool
ну как бы pkcs11-tool как раз из opensc :)

по поводу «File already exists» – давайте разбираться, где и чей косяк. Очевидно, что проблема либо opensc и надо это унести в апстрим либо в устройстве. Я уже не в первый раз сталкиваюсь с непонятными проблемами импорта и это, надо сказать, утомляет.
Прошу предложить схему отлакди проблемы.

Re: Очередные проблемы с импортом ключей и сертификатов

Здравствуйте, не буду вступать в дискуссию по поводу хелловорлда и ваших пакетных менеджеров. Выбор - это личное дело каждого.
Я хотел сказать, что если бы вы использовали rtpkcs11ecp + pkcs11-tool для импорта своих файлов и ключей, то такой ошибки бы не случилось. А если бы и случилось то мы бы разобрались и починили.

Почему утилита pkcs15-init пишет file already exist нам неведомо.
И если интерфейс pkcs11 еще можно отлаживать с помощью pkcs11-spy то утилиты pkcs15 можно лишь на уровне исходного кода смотреть.

Если вы сами не владеете отладчиком, то можете оставить багрепорт сообществу OpenSC https://github.com/OpenSC/OpenSC (кнопочка issues).
Они скорее всего попросят вас воспроизвести баг на свежеотформатированном устройстве и предоставить тестовый контейнер p12.

В принципе, все точно также как и здесь, но просто на другом сайте. :)

Re: Очередные проблемы с импортом ключей и сертификатов

Уважаемый Кирилл! У меня создается впечатление, что я, заплатив деньги за устройство, получаю ровно 0 поддержки в данном случае. Хочу напомнить, что смысл поддержки в том, чтобы я получал ответы на *мои* вопросы и она помогала мне решать *мои* проблемы.. Иначе, чтобы оставаться честным, Вы должны декларировать *отсутствие* поддержки. Или наличие поддержки *только* при условии использования Вашей библиотеки.
И давайте не будем иронизировать по поводу пакетных менеджеров – если Вы представляете свою библиотеку под Linux – так напомню, что в Linux принято устанавливать и обновлять что бы то ни было только их посредством. И разумеется, работа с майнтайнерами пакетов для наиболее распространенных дистрибутивов – Ваша забота ибо продукт платный (Вы же не будете пытаться заявить что платный только девайс? :) )

Давайте тогда предметно:
> если бы вы использовали rtpkcs11ecp + pkcs11-tool … то мы бы разобрались и починили
отлично, прошу в студию подробный и последовательный список того, что можно делать и чего делать нельзя. И как делать. (Пакеты, версии, примеры команд). И *без* наколенных копирований файликов наугад (архитектуры, зависимости где?)
Кроме того, будьте любезны, разрулите явным и логичным образом дичайшую ситуацию с тем, что мы таки используем opensc (другого-то нет интерфейса управления), но должны использовать его только частично а-ля pkcs11* но не pkcs15* (это даже при написании звучит как-то бредово)

>Если вы сами не владеете отладчиком
а я владею ВСЕЙ информацией, которая мне может потребоваться при отладке? я, видимо, имею коды микропрограммы на устройстве и прочую подробную документацию? Толсто.

Вы можете только *предполагать*, что проблема коренится в pkcs15  – хотя проблема может быть и в девайсе и в микропрограмме. Разобраться и обосновать Ваше предположение Вы не желаете, похоже. Вместо этого я вижу советы в стиле «переустановите Windows на чистый носитель и посмотрите повторится ли ошибка». Это как-то неуважительно даже.

Хорошо, если в ФС девайса все в порядке, то мы как-то можем это проверить и увидеть? Как именно это сделать? Возможно, это проблема pkcs15, но нужно знать и доказать, что это так, а потом только идти туда в апстрим.

И прошу не игнорировать мои просьбы по предоставлению инструкций для проведения разбора полетов. Давайте тратить мое и Ваше время на решение проблем а не на сомнительные дисклеймеры.

Re: Очередные проблемы с импортом ключей и сертификатов

Уважаемый, beelze.

Устройства Рутокен производства компании ЗАО "Актив-Софт" поддерживаюся в программном обеспечении написанном компанией ЗАО "Актив-Софт" если особым образом не указано иное.
Утилиты и библиотеки OpenSC поддерживаются сообществом OpenSC.

Мы уважаем ваше право пользоваться свободным программным обеспечением. Однако, мы не берем на себя ответственность поддерживать любое программное обеспечение, если даже оно с открытым исходным кодом.
Сама по себе открытость ПО не приводит к обязанности его поддерживать.

Если вы считаете, что ошибка в прошивке, попробуйте воспроизвести эту ситуацию искусственно и приложите логи посылаемых в токен команд (сделать это довольно просто, для этого нужно лишь запустить демон pcscd в режиме отладки). Там будет видно какие команды выполняются и какой приходит ответ. Этого будет достаточно для того чтобы исключить неисправности или ошибки в токене.

Ну а если окажется что команды посылаемые в токен неправильные - можно будет разбираться почему они такие и попытаться исправить это в программном коде библиотек и утилит OpenSC

Re: Очередные проблемы с импортом ключей и сертификатов

Нет, Вы неправы, Кирилл.

Перед покупкой я уточнил у представителя продавца, будет ли поддерживаться девайс в линупсах и привел необходимые мне паттерны использования (упоминая явным образом непроприетарное ПО). Так что как минимум этическая обязанность поддержки есть. Юридически мы углубляться не будем, но Ваша позиция и тут слабая. Есть ли необходимость нарыть кучу скриншотов с форумов, которые подтверждают, что Вы (я имею в виду компанию) *рекомендует* для использования opensc? Ну и так далее.

Как я уже 100500 раз отметил, Ваше предложение использовать rtpkcs11ecp – не является готовым решением. Любому известно, что установка неконтролируемых бинарей в обход имеющейся системы управления пакетами – противоречит всем и любым рекомендациям и правилам. Стало быть что? Ее *нельзя* использовать, не нанося ущерба. Но Вы таки это рекомендуете? Это есть профессионально?

Далее – где-то есть явное, валидное в юридическом плане объявление, что гарантируется, что rtpkcs11ecp работает на любой конфигурации/инсталляции, не способно нанести вредя системе и владельцу, не собирает и не отправляет никаких данных без одобрения пользователя? Если есть, то я бы хотел это увидеть.

Еще далее – Вы таки одной рукой рекомендуете использовать pkcs11, а другой заявляете, что не несете никакой ответственности и не оказываете поддержки для случая СПО? То есть это надо понимать, что Вы сами определяете меру ответственности по своему желанию?

На данный момент Вы отказываетесь как оказывать мне помощь в разрешении проблемы, так и уклоняетесь от указания четкой области, в которой производится поддержка. Это  официальная политика компании или Ваше частное мнение?

Re: Очередные проблемы с импортом ключей и сертификатов

Уважаемый beelze

Все что написано на этом форуме от лица сотрудников компании является выражением официальной позиции компании.

beelze пишет:

Перед покупкой я уточнил у представителя продавца

Если "представитель продавца" (кто это?) взял на себя такую ответственность - логично что к нему и следует обратиться.

beelze пишет:

Есть ли необходимость нарыть кучу скриншотов с форумов, которые подтверждают, что Вы (я имею в виду компанию) *рекомендует* для использования opensc?


Найдите официальное признание поддержки компанией Актив-Софт поддержки открытого проекта OpenSC и я буду вам благодарен.

beelze пишет:

Как я уже 100500 раз отметил, Ваше предложение использовать rtpkcs11ecp – не является готовым решением. Любому известно, что установка неконтролируемых бинарей в обход имеющейся системы управления пакетами – противоречит всем и любым рекомендациям и правилам. Стало быть что? Ее *нельзя* использовать, не нанося ущерба. Но Вы таки это рекомендуете? Это есть профессионально?

Ваше право считать что угодно.
Официальная позиция компании Актив-Софт такова: в операционных системах на базе GNU/Linux официально поддерживается библиотека rtpkcs11ecp. Те кто пользуются низкоуровневыми утилитами OpenSC (pkcs15-init, pkcs15-tool, opensc-tool и прочие) могут рассчитывать лишь на поддержку сообщества OpenSC.

beelze пишет:

противоречит всем и любым рекомендациям и правилам.

весьма "слабое" утверждение, если использовать вашу терминологию

beelze пишет:

Далее – где-то есть явное, валидное в юридическом плане объявление, что гарантируется, что rtpkcs11ecp работает на любой конфигурации/инсталляции, не способно нанести вредя системе и владельцу, не собирает и не отправляет никаких данных без одобрения пользователя? Если есть, то я бы хотел это увидеть.
Еще далее – Вы таки одной рукой рекомендуете использовать pkcs11, а другой заявляете, что не несете никакой ответственности и не оказываете поддержки для случая СПО? То есть это надо понимать, что Вы сами определяете меру ответственности по своему желанию?

https://download.rutoken.ru/License_Agreement.pdf

beelze пишет:

На данный момент Вы отказываетесь как оказывать мне помощь в разрешении проблемы, так и уклоняетесь от указания четкой области, в которой производится поддержка. Это  официальная политика компании или Ваше частное мнение?

Вы меня плохо читаете или плохо понимаете.
1) мы указали вам канал, через который будет принята ваша заявка насчет утилиты pkcs15-tool и даже посоветовал как лучше оставить там заявку
2) мы посоветовали средства отладки для исключения проблем с прошивкой (лог команд мы готовы посмотреть немедленно и проверить что с токеном нет проблем)

Re: Очередные проблемы с импортом ключей и сертификатов

>Вы меня плохо читаете или плохо понимаете.
Давайте уточним реалии наших взаимоотношений – я приобрел на платной основе девайс и вариантов с поддержкой тут 2:
1. У меня есть полная и непротиворечивая информация по поводу гарантированного оказания Вами поддержки и признание того факта, что недостатки данной формулировки – Ваша проблема и Вы ее решаете. Иными словами, условия оказания поддержки должны быть прозрачными, логичными, констистентыми и *исключать* любой человеческий фактор.
2. Несоответствие п.1 означает *отсутствие* поддержки. Иными словами, Вы либо другой представитель компании не может решать, оказывать поддержку или нет, он может исключительно реализовывать ранее софрмулированные условия ее оказания.

Иначе мы скатываемся к бесплодной дискуссии, когда Вы декларируете противоречивые вещи вместо того, чтобы делать то, что я от Вас ожидаю.

>мы указали вам канал, через который будет принята ваша заявка насчет утилиты pkcs15-tool
я пропустил момент, в котором было доказано, что проблема вызвана pkcs15*? или вместо обоснования мне предлагается Вас процитировать?

мы посоветовали средства отладки для исключения проблем с прошивкой
где? где методика отладки и подготовка для нее нужной среды? если одобряется использование одних утилит, а других запрещается – то давайте уж конкретный список что и как делать. У меня есть токен и сертификат. И проблема. Будем считать что более ничего у меня нет и все потребное я сделаю в соответтсвии с Вашими инструкциями.

Пока в этом посте достаточно, только одно отмечу:
>Если "представитель продавца" (кто это?) взял на себя такую ответственность - логично что к нему и следует обратиться.
Нет, нелогично, ибо:
Все что написано на этом форуме от лица сотрудников компании является выражением официальной позиции компании.
так представители компании представляют компанию или нет, я что-то не пойму? я совершал сделку по приобретению товара с компанией а не с «кто это». Как кого зовут и все нюансы персонала – это знает Ваша компания, я в это вникать не обязан. И давайте вести дискуссию цивилизованно – если Вы не можете опровергнуть мое утверждение, будьте любезны с ним согласиться, иначе Вы косвенно и бездоказательно меня упрекаете во лжи. Да, я где-то спрашивал и помню ситуацию и ее развитие в общих чертах – докажите что я ошибаюсь или не оспаривайте.

Re: Очередные проблемы с импортом ключей и сертификатов

Вам похоже больше нравится со мной спорить, чем проблему решать.
Ок, перейдем на сухой бюрократический язык.

1) вы пользуетесь утилитой и библиотекой, которая разработана не нами и не поддерживается нами.
Это официальная позиция. Я больше не буду это повторять. И не буду оспаривать никакие ваши утверждения.
Точку приложения ваших усилий по получении поддержки этих утилит я вам указал. 

2) мы готовы проанализировать лог pcscd демона при обращении каких угодно утилит к нашему устройству, чтобы исключить неисправность или ошибки токена. Лог вы можете собрать любым удобным для вас способом. Официальных утилит или инструкций для этого мы не предоставляем. В качестве жеста доброй воли я вам написал, что нужно сделать, но вы, похоже, не читаете. Лог можно отправить любым официальным способом - это почта россии, форум или e-mail hotline@rutoken.ru

3) в случае если вы считаете что устройство неисправно и не истек его гарантийный срок вы имеете право обратиться к продавцу официальным образом для проведения экспертизы.

Re: Очередные проблемы с импортом ключей и сертификатов

beelze пишет:
...
Failed to store public key: File already exists
...

Что вообще означает «File already exists» в данном случае?

Означает, что на файловой системе карты уже есть файл, который необходимо создать для "сохранения открытого ключа". Предполагаю, что стоит задать отличный от дефолтного id для утилиты pkcs15-init

-i, --id <arg>                Specify ID of key/certificate

См. вывод

pkcs15-tool -D

Re: Очередные проблемы с импортом ключей и сертификатов

_S пишет:

Означает, что на файловой системе карты уже есть файл, который необходимо создать для "сохранения открытого ключа". Предполагаю, что стоит задать отличный от дефолтного id для утилиты pkcs15-init

Ну перевод-то понятен, непонятно, в каких терминах здесь нарушается уникальность. По поводу другого auth-id – да, это пробовалось и к тому же емнип только 2 можно указывать, о чем говорилось на форуме. При указании 03 получается

Incorrect parameters in APDU

Re: Очередные проблемы с импортом ключей и сертификатов

beelze пишет:

Ну перевод-то понятен, непонятно, в каких терминах здесь нарушается уникальность. По поводу другого  – да, это пробовалось

Нет, не --auth-id, а --id. Который означает Specify ID of key/certificate.

Re: Очередные проблемы с импортом ключей и сертификатов

>Нет, не --auth-id, а --id. Который означает Specify ID of key/certificate.
ах да, я не написал, это я пробовал в первую очередь – 0123456789ABCDEF etc

(2016-08-26 08:56:24 отредактировано beelze)

Re: Очередные проблемы с импортом ключей и сертификатов

# openssl rsa -in .pem -outform der -out .der
writing RSA key

# pkcs11-tool --module /usr/lib64/pkcs11/opensc-pkcs11.so -y privkey -l -e XXXX -w .der
Using slot 1 with a present token (0x1)
Logging in to "Rutoken ECP (YYYY)".
Please enter User PIN: 
error: PKCS11 function C_CreateObject failed: rv = CKR_ATTRIBUTE_VALUE_INVALID (0x13)

Aborting.

# 1 pkcs11-tool --module /tmp/librtpkcs11ecp.so -y privkey -l -e XXXX -w .der
Using slot 0 with a present token (0x0)
Logging in to "Rutoken ECP <no label>".
Please enter User PIN: 
error: PKCS11 function C_CreateObject failed: rv = CKR_TEMPLATE_INCONSISTENT (0xd1)

Aborting.

WTF?
и куда девается label?