Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

19 Страницы<1234>»
Опции
К последнему сообщению К первому непрочитанному
Offline Lirein  
#11 Оставлено : 29 августа 2017 г. 6:10:48(UTC)
Lirein

Статус: Активный участник

Группы: Участники
Зарегистрирован: 18.09.2015(UTC)
Сообщений: 86
Мужчина
Российская Федерация
Откуда: На работе

Сказал «Спасибо»: 18 раз
Поблагодарили: 52 раз в 40 постах
Добрый день. Похоже что IFC плагин - в Linux работает только с использованием pkcs11 библиотек, файл конфигурации там общий для всех платформ, если попытаться указать путь до библиотеки libcapi10 или libcapi20, плагин даже не производит попытку загрузки библиотеки, похоже секции с типом модуля capi в Linux игнорируются.

Тогда каким образом я могу создать CKO_PUBLIC_KEY самостоятельно? Напрашивается ответ что с помощью утилиты pkcs11-tool попробовать добавить публичный ключ сертификата в контейнер. Могу попробовать, по результатам отпишусь.
--- Эльфиек на всех не хватает...
*** А всё таки, она вертится!
thanks 1 пользователь поблагодарил Lirein за этот пост.
aozimkov оставлено 06.03.2019(UTC)
Offline Lirein  
#12 Оставлено : 29 августа 2017 г. 6:27:27(UTC)
Lirein

Статус: Активный участник

Группы: Участники
Зарегистрирован: 18.09.2015(UTC)
Сообщений: 86
Мужчина
Российская Федерация
Откуда: На работе

Сказал «Спасибо»: 18 раз
Поблагодарили: 52 раз в 40 постах
Автор: Lirein Перейти к цитате
Тогда каким образом я могу создать CKO_PUBLIC_KEY самостоятельно? Напрашивается ответ что с помощью утилиты pkcs11-tool попробовать добавить публичный ключ сертификата в контейнер. Могу попробовать, по результатам отпишусь.


Попробовал, получилось вот что:

Извлекаем сертификат:
Код:
./src/tools/pkcs11-tool --module /opt/cprocsp/lib/amd64/libcppkcs11.so -l -r -y cert --slot 0 --id 951739cf4cf918057ddfa1c413d2e9d5859b0937 -o crt2.cer


Экспортируем публичный ключ:
Код:
openssl x509 -pubkey -noout -in crt2.cer -inform der -engine gost > cer2.pkey


Пытаемся создать объект публичного ключа:
Код:
./src/tools/pkcs11-tool --module /opt/cprocsp/lib/amd64/libcppkcs11.so -l -y pubkey --slot 0 --id 951739cf4cf918057ddfa1c413d2e9d5859b0937 -w cer2.pkey -E gost
Logging in to "CryptoPro Token".
Please enter User PIN: 
Write gost public keyerror: PKCS11 function C_CreateObject failed: rv = CKR_TEMPLATE_INCONSISTENT (0xd1)
Aborting.


Могу ещё покурить стандарт и исправить OpenSC для корректной заливки публичных ключей ГОСТ, если она поддерживается pkcs11 плагином.
UPD: Исправил, но импорта ключа не происходит, исходники с правками: https://github.com/Lirein/OpenSC

Отредактировано пользователем 29 августа 2017 г. 6:51:23(UTC)  | Причина: Не указана

--- Эльфиек на всех не хватает...
*** А всё таки, она вертится!
thanks 1 пользователь поблагодарил Lirein за этот пост.
aozimkov оставлено 06.03.2019(UTC)
Offline Дмитрий Пичулин  
#13 Оставлено : 29 августа 2017 г. 15:27:49(UTC)
pd

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC)
Сообщений: 1,496
Откуда: КРИПТО-ПРО

Сказал(а) «Спасибо»: 35 раз
Поблагодарили: 466 раз в 333 постах
Автор: Lirein Перейти к цитате
Могу ещё покурить стандарт и исправить OpenSC для корректной заливки публичных ключей ГОСТ, если она поддерживается pkcs11 плагином.
UPD: Исправил, но импорта ключа не происходит, исходники с правками: https://github.com/Lirein/OpenSC

Проблема в том, что нет единого строгого стандарта использования pkcs11, особенно в части ГОСТ.

Если вы точно понимаете как функционирует ifc и можете написать замкнутый тест, прохождение которого гарантирует работоспособность системы, мы готовы поддержать все нюансы в нашей библиотеке.

Сейчас же ситуация такова, что приходится в ручном режиме тестировать ifc заходом на esia.gosuslugi.ru через cpfox и смотреть в отладчике, что там происходит, а происходит там много неожиданного.

Дополнили наш pkcs11 несколькими примочками, которые позволяют дойти до выбора сертификата на уровне ifc, можете проверить? https://update.cryptopro.../temp/20170829_pkcs11ex/

Отредактировано пользователем 29 августа 2017 г. 15:31:25(UTC)  | Причина: Не указана

Знания в базе знаний, поддержка в техподдержке
thanks 1 пользователь поблагодарил pd за этот пост.
Lirein оставлено 29.08.2017(UTC)
Offline Lirein  
#14 Оставлено : 29 августа 2017 г. 16:28:31(UTC)
Lirein

Статус: Активный участник

Группы: Участники
Зарегистрирован: 18.09.2015(UTC)
Сообщений: 86
Мужчина
Российская Федерация
Откуда: На работе

Сказал «Спасибо»: 18 раз
Поблагодарили: 52 раз в 40 постах
Дальше все чудесатее и чудесатее:

Код:

2017-08-29 18:19:47 INFO  ********** START IFCPluginAPI::get_list_info_size() **********
2017-08-29 18:19:47 INFO  Parameters: none
2017-08-29 18:19:47 DEBUG func: ifc_get_list_info
2017-08-29 18:19:47 DEBUG config record [0]
2017-08-29 18:19:47 DEBUG config record [1]
2017-08-29 18:19:47 DEBUG func: list_keys_pkcs11
2017-08-29 18:19:47 DEBUG pkcs11_lib is 'libjcPKCS11.so', i_keys is not set
2017-08-29 18:19:47 DEBUG func: ifc_load_pkcs11_lib
2017-08-29 18:19:47 DEBUG module path: libjcPKCS11.so
2017-08-29 18:19:47 DEBUG cached PKCS#11 library found
2017-08-29 18:19:47 DEBUG ifc_load_pkcs11_lib result [0]
2017-08-29 18:19:47 DEBUG slots count: [0]
2017-08-29 18:19:47 ERROR No connected tokens found
2017-08-29 18:19:47 DEBUG list_keys_pkcs11 result [0]
2017-08-29 18:19:47 DEBUG config record [2]
2017-08-29 18:19:47 DEBUG func: list_keys_pkcs11
2017-08-29 18:19:47 DEBUG pkcs11_lib is 'libcppkcs11.so', i_keys is not set
2017-08-29 18:19:47 DEBUG func: ifc_load_pkcs11_lib
2017-08-29 18:19:47 DEBUG module path: libcppkcs11.so
2017-08-29 18:19:47 DEBUG cached PKCS#11 library found
2017-08-29 18:19:47 DEBUG ifc_load_pkcs11_lib result [0]
2017-08-29 18:19:47 DEBUG slots count: [1]
2017-08-29 18:19:47 DEBUG GetSlotInfo [0]
2017-08-29 18:19:47 DEBUG GetTokenInfo [0]
2017-08-29 18:19:47 DEBUG list_keys_pkcs11 result [0]
2017-08-29 18:19:47 DEBUG config record [3]
2017-08-29 18:19:47 DEBUG config record [4]
2017-08-29 18:19:47 DEBUG config record [5]
2017-08-29 18:19:47 DEBUG config record [6]
2017-08-29 18:19:47 DEBUG ifc_get_list_info result [0]
2017-08-29 18:19:47 INFO  >>> Success, founded 1 crypto
2017-08-29 18:19:47 INFO  ********** END IFCPluginAPI::get_list_info_size() **********
2017-08-29 18:19:47 INFO  ********** START IFCPluginAPI::get_list_info() **********
2017-08-29 18:19:47 INFO  >>> Parameters
2017-08-29 18:19:47 INFO  Index:	0
2017-08-29 18:19:47 INFO  >>> Results for index 0
2017-08-29 18:19:47 INFO  Alias:		cryptoprocsp
2017-08-29 18:19:47 INFO  Description:	CryptoPro Slot
2017-08-29 18:19:47 INFO  Name:		CryptoPro CSP
2017-08-29 18:19:47 INFO  Num:		0
2017-08-29 18:19:47 INFO  Path:		libcppkcs11.so
2017-08-29 18:19:47 INFO  Serial Number:	0000000000000000
2017-08-29 18:19:47 INFO  Type:		pkcs11
2017-08-29 18:19:47 INFO  ********** END IFCPluginAPI::get_list_info() **********
2017-08-29 18:19:47 INFO  ********** START IFCPluginAPI::get_list_certs_size() **********
2017-08-29 18:19:47 INFO  >>> Parameters
2017-08-29 18:19:47 INFO  Crypto ID:	cryptoprocsp/0
2017-08-29 18:19:47 DEBUG func: ifc_get_list_certs
2017-08-29 18:19:47 DEBUG func: ifc_engine
2017-08-29 18:19:47 DEBUG func: ifc_init_pkcs11_engine
2017-08-29 18:19:47 DEBUG p11 lib name: libcppkcs11.so, slot: 0, engine lib name: pkcs11_engine
2017-08-29 18:19:47 DEBUG cached crypto slot found
2017-08-29 18:19:47 DEBUG ifc_init_pkcs11_engine result [0]
2017-08-29 18:19:47 DEBUG ifc_engine result [0]
2017-08-29 18:19:47 DEBUG func: ifc_list_certificates_in_store
2017-08-29 18:19:47 DEBUG Cert ID �9�L�}ߡ���Յ�	7
2017-08-29 18:19:47 DEBUG func: get_pub_key_by_id
2017-08-29 18:19:47 DEBUG ID to find: �9�L�}ߡ���Յ�	7
2017-08-29 18:19:47 DEBUG STORE_list_publice_key_start done
2017-08-29 18:19:47 DEBUG STORE_list_public_key_next done
2017-08-29 18:19:47 DEBUG Needed ID [�9�L�}ߡ���Յ�	7] was found
2017-08-29 18:19:47 DEBUG STORE_list_public_key_end done
2017-08-29 18:19:47 DEBUG get_pub_key_by_id result [found key handle]
2017-08-29 18:19:47 DEBUG func: ifc_x509_info
2017-08-29 18:19:47 DEBUG requested info type: 5
2017-08-29 18:19:47 DEBUG BIO_new(BIO_s_mem()) done
2017-08-29 18:19:47 DEBUG ifc_x509_info result [0]
2017-08-29 18:19:47 DEBUG func: ifc_x509_info
2017-08-29 18:19:47 DEBUG requested info type: 6
2017-08-29 18:19:47 DEBUG BIO_new(BIO_s_mem()) done
2017-08-29 18:19:47 DEBUG ifc_x509_info result [0]
2017-08-29 18:19:47 DEBUG func: ifc_x509_info
2017-08-29 18:19:47 DEBUG requested info type: 7
2017-08-29 18:19:47 DEBUG BIO_new(BIO_s_mem()) done
2017-08-29 18:19:47 DEBUG ifc_x509_info result [0]
2017-08-29 18:19:47 DEBUG func: ifc_x509_info
2017-08-29 18:19:47 DEBUG requested info type: 8
2017-08-29 18:19:47 DEBUG BIO_new(BIO_s_mem()) done
2017-08-29 18:19:47 DEBUG ifc_x509_info result [0]
2017-08-29 18:19:47 DEBUG func: ifc_x509_info
2017-08-29 18:19:47 DEBUG requested info type: 4
2017-08-29 18:19:47 DEBUG BIO_new(BIO_s_mem()) done
2017-08-29 18:19:47 DEBUG ifc_x509_info result [0]
2017-08-29 18:19:47 DEBUG Cert ID Na�z��-�:$S�l��p�r�
2017-08-29 18:19:47 DEBUG func: get_pub_key_by_id
2017-08-29 18:19:47 DEBUG ID to find: Na�z��-�:$S�l��p�r�
2017-08-29 18:19:47 DEBUG STORE_list_publice_key_start done
2017-08-29 18:19:47 DEBUG STORE_list_public_key_next done
2017-08-29 18:19:47 DEBUG Listed key is not needed -> free
2017-08-29 18:19:47 DEBUG STORE_list_public_key_next done
2017-08-29 18:19:47 DEBUG Needed ID [Na�z��-�:$S�l��p�r�] was found
2017-08-29 18:19:47 DEBUG STORE_list_public_key_end done
2017-08-29 18:19:47 DEBUG get_pub_key_by_id result [found key handle]
2017-08-29 18:19:47 DEBUG func: ifc_x509_info
2017-08-29 18:19:47 DEBUG requested info type: 5
2017-08-29 18:19:47 DEBUG BIO_new(BIO_s_mem()) done
2017-08-29 18:19:47 DEBUG ifc_x509_info result [0]
2017-08-29 18:19:47 DEBUG func: ifc_x509_info
2017-08-29 18:19:47 DEBUG requested info type: 6
2017-08-29 18:19:47 DEBUG BIO_new(BIO_s_mem()) done
2017-08-29 18:19:47 DEBUG ifc_x509_info result [0]
2017-08-29 18:19:47 DEBUG func: ifc_x509_info
2017-08-29 18:19:47 DEBUG requested info type: 7
2017-08-29 18:19:47 DEBUG BIO_new(BIO_s_mem()) done
2017-08-29 18:19:47 DEBUG ifc_x509_info result [0]
2017-08-29 18:19:47 DEBUG func: ifc_x509_info
2017-08-29 18:19:47 DEBUG requested info type: 8
2017-08-29 18:19:47 DEBUG BIO_new(BIO_s_mem()) done
2017-08-29 18:19:47 DEBUG ifc_x509_info result [0]
2017-08-29 18:19:47 DEBUG func: ifc_x509_info
2017-08-29 18:19:47 DEBUG requested info type: 4
2017-08-29 18:19:47 DEBUG BIO_new(BIO_s_mem()) done
2017-08-29 18:19:47 DEBUG ifc_x509_info result [0]
2017-08-29 18:19:47 DEBUG Cert ID �1Zl�nz���u7� �,,��
2017-08-29 18:19:47 DEBUG func: get_pub_key_by_id
2017-08-29 18:19:47 DEBUG ID to find: �1Zl�nz���u7� �,,��
2017-08-29 18:19:47 DEBUG STORE_list_publice_key_start done
2017-08-29 18:19:47 DEBUG STORE_list_public_key_next done
2017-08-29 18:19:47 DEBUG Listed key is not needed -> free
2017-08-29 18:19:47 DEBUG STORE_list_public_key_next done
2017-08-29 18:19:47 DEBUG Listed key is not needed -> free
2017-08-29 18:19:47 DEBUG STORE_list_public_key_next done
2017-08-29 18:19:47 DEBUG Needed ID [�1Zl�nz���u7� �,,��] was found
2017-08-29 18:19:47 DEBUG STORE_list_public_key_end done
2017-08-29 18:19:47 DEBUG get_pub_key_by_id result [found key handle]
2017-08-29 18:19:47 DEBUG func: ifc_x509_info
2017-08-29 18:19:47 DEBUG requested info type: 5
2017-08-29 18:19:47 DEBUG BIO_new(BIO_s_mem()) done
2017-08-29 18:19:47 DEBUG ifc_x509_info result [0]
2017-08-29 18:19:47 DEBUG func: ifc_x509_info
2017-08-29 18:19:47 DEBUG requested info type: 6
2017-08-29 18:19:47 DEBUG BIO_new(BIO_s_mem()) done
2017-08-29 18:19:47 DEBUG ifc_x509_info result [0]
2017-08-29 18:19:47 DEBUG func: ifc_x509_info
2017-08-29 18:19:47 DEBUG requested info type: 7
2017-08-29 18:19:47 DEBUG BIO_new(BIO_s_mem()) done
2017-08-29 18:19:47 DEBUG ifc_x509_info result [0]
2017-08-29 18:19:47 DEBUG func: ifc_x509_info
2017-08-29 18:19:47 DEBUG requested info type: 8
2017-08-29 18:19:47 DEBUG BIO_new(BIO_s_mem()) done
2017-08-29 18:19:47 DEBUG ifc_x509_info result [0]
2017-08-29 18:19:47 DEBUG func: ifc_x509_info
2017-08-29 18:19:47 DEBUG requested info type: 4
2017-08-29 18:19:47 DEBUG BIO_new(BIO_s_mem()) done
2017-08-29 18:19:47 DEBUG ifc_x509_info result [0]
2017-08-29 18:19:47 DEBUG Cert ID ��;�Q���x���� �U�]
2017-08-29 18:19:47 DEBUG func: get_pub_key_by_id
2017-08-29 18:19:47 DEBUG ID to find: ��;�Q���x���� �U�]
2017-08-29 18:19:47 DEBUG STORE_list_publice_key_start done
2017-08-29 18:19:47 DEBUG STORE_list_public_key_next done
2017-08-29 18:19:47 DEBUG Listed key is not needed -> free
2017-08-29 18:19:47 DEBUG STORE_list_public_key_next done
2017-08-29 18:19:47 DEBUG Listed key is not needed -> free
2017-08-29 18:19:47 DEBUG STORE_list_public_key_next done
2017-08-29 18:19:47 DEBUG Listed key is not needed -> free
2017-08-29 18:19:47 DEBUG STORE_list_public_key_next done
2017-08-29 18:19:47 DEBUG Needed ID [��;�Q���x���� �U�]] was found
2017-08-29 18:19:47 DEBUG STORE_list_public_key_end done
2017-08-29 18:19:47 DEBUG get_pub_key_by_id result [found key handle]
2017-08-29 18:19:47 ERROR iconv: Неверный или неполный мультибайтный или широкий символ

2017-08-29 18:19:47 ERROR unicode cert_id failed [162]
2017-08-29 18:19:47 DEBUG ifc_list_certificates_in_store result [162]
2017-08-29 18:19:47 DEBUG ifc_get_list_certs result [162]
2017-08-29 18:19:47 ERROR Error 162:	Encoding Error
2017-08-29 18:19:47 INFO  ********** END IFCPluginAPI::get_list_certs_size() **********


У меня есть идея, она кошмарна, но чем чёрт не шутит... Сделать свою библиотеку pkcs11 на базе библиотеки opensc, в виде обертки над libcapi20.so, либо libcppkcs11.so и на реальных тестах выявить что нужно плагину, но это уже явно не на этой неделе, скорее всего уже в следующем месяце, сейчас времени на это просто нет.
--- Эльфиек на всех не хватает...
*** А всё таки, она вертится!
thanks 1 пользователь поблагодарил Lirein за этот пост.
aozimkov оставлено 06.03.2019(UTC)
Offline Lirein  
#15 Оставлено : 29 августа 2017 г. 16:42:25(UTC)
Lirein

Статус: Активный участник

Группы: Участники
Зарегистрирован: 18.09.2015(UTC)
Сообщений: 86
Мужчина
Российская Федерация
Откуда: На работе

Сказал «Спасибо»: 18 раз
Поблагодарили: 52 раз в 40 постах
Что ещё интересно, с библиотекой рутокена, я получаю вот такой выхлоп:
Код:
lirein@lirein-desktop ~/Загрузки/OpenSC $ ./src/tools/pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -O 
Using slot 0 with a present token (0x0)
Public Key Object; RSA 2048 bits
  label:      
  ID:         a099642ad18e4944d2f2fa5e3226a3c45e25755c
  Usage:      encrypt, verify, wrap
Public Key Object; RSA 2048 bits
  label:      
  ID:         8e9a19e0fbce187ca4cf77d46090f9a0bbca3549
  Usage:      encrypt, verify, wrap
Public Key Object; GOSTR3410 
  PARAMS OID: 06072a850302022301
  VALUE:      f9f65d8f4a21262bef52559b9c48966b89961e96dfd7028acb312c7f43c6ee9d
              21e67fe3c9729a760c23b7694eeec63514477c8260eb9c5af82b024ff0515c1e
  label:      
  ID:         0001
  Usage:      verify
Public Key Object; GOSTR3410 
  PARAMS OID: 06072a850302022301
  VALUE:      87503276d0c5a433d0708df69c8410f69726177b96ca8a035ed02b51028157fe
              14e8b8b6309756e628de6515648ec4e649b102602d464fa3b4b9cefc3f013974
  label:      
  ID:         0002
  Usage:      verify
Certificate Object; type = X.509 cert
  label:      Баталин Иван Анатольевич’s ООО \"Открытые Автоматизированные Системы\" ID #3
  ID:         a099642ad18e4944d2f2fa5e3226a3c45e25755c
Certificate Object; type = X.509 cert
  label:      Баталина Ольга Сергеевна’s ООО \"Открытые Автоматизированные Системы\" ID
  ID:         8e9a19e0fbce187ca4cf77d46090f9a0bbca3549


С библиотекой КриптоПро, вот такой:
Код:
./src/tools/pkcs11-tool --module /opt/cprocsp/lib/amd64/libcppkcs11.so -l -O -E gost
Using slot 0 with a present token (0x0)
Logging in to "CryptoPro Token".
Please enter User PIN: 
Private Key Object; GOSTR3410 
  PARAMS OID: 06072a850302022400
  label:      batalin_007203355594_14.11.16_19.12.38
  ID:         951739cf4cf918057ddfa1c413d2e9d5859b0937
  Usage:      decrypt, sign, unwrap, derive
warning: PKCS11 function C_GetAttributeValue(ALWAYS_AUTHENTICATE) failed: rv = CKR_ATTRIBUTE_TYPE_INVALID (0x12)

Private Key Object; GOSTR3410 
  PARAMS OID: 06072a850302022400
  label:      oas
  ID:         951739cf4cf918057ddfa1c413d2e9d5859b0937
  Usage:      decrypt, sign, unwrap, derive
warning: PKCS11 function C_GetAttributeValue(ALWAYS_AUTHENTICATE) failed: rv = CKR_ATTRIBUTE_TYPE_INVALID (0x12)

Public Key Object; GOSTR3410 
  PARAMS OID: 06072a850302022400
  VALUE:      8c8260285b9248791a7274e31630411e126ca9f4f93f38629c23710adfe3eca2
              49b7def40409b508846390c0096566eb4f175a7d9eb852ed45f1d4740f969a24
  label:      951739CF4CF918057DDFA1C413D2E9D5859B0937
  ID:         951739cf4cf918057ddfa1c413d2e9d5859b0937
  Usage:      encrypt, verify, wrap, derive
Public Key Object; GOSTR3410 
  PARAMS OID: 06072a850302022400
  VALUE:      a85ede90e8ea76474578e7f7552a44d316fc7cb68cf8a00b9212107bbfc848d1
              ab80bd8538898c571341141c0fba51e3247693a6d0aadf9fea15531cf621b4c9
  label:      4E61B67AD1FC012DE53A2453B96CEACD709A729A
  ID:         4e61b67ad1fc012de53a2453b96ceacd709a729a
  Usage:      encrypt, verify, wrap, derive
Public Key Object; GOSTR3410 
  PARAMS OID: 06072a850302022400
  VALUE:      c14a895071cd5e3c424f06cc3800b9993daf643aded6a51095e3c7e02565da2d
              1aa8929ea405eb163ffa851817ba8464f1ff7af4953d6088f101a9e2285c6029
  label:      8F03315A6C8D6E7AF4E3F87537E220C42C2C9D83
  ID:         8f03315a6c8d6e7af4e3f87537e220c42c2c9d83
  Usage:      encrypt, verify, wrap, derive
Public Key Object; GOSTR3410 
  PARAMS OID: 06072a850302022400
  VALUE:      8fa5bf791023c8d691ad6431575bbe9bc58a83f43f29f72a79a9fb65c3e8a80f
              5a75c42254915fc83f218ada703af9d58b0d736284dc2ee6907ea1037337a1fb
  label:      8B983B891851E8EF9C0278B8EAC8D420B255C95D
  ID:         8b983b891851e8ef9c0278b8eac8d420b255c95d
  Usage:      encrypt, verify, wrap, derive
Certificate Object; type = X.509 cert
  label:      951739CF4CF918057DDFA1C413D2E9D5859B0937
  ID:         951739cf4cf918057ddfa1c413d2e9d5859b0937
Certificate Object; type = X.509 cert
  label:      4E61B67AD1FC012DE53A2453B96CEACD709A729A
  ID:         4e61b67ad1fc012de53a2453b96ceacd709a729a
Certificate Object; type = X.509 cert
  label:      8F03315A6C8D6E7AF4E3F87537E220C42C2C9D83
  ID:         8f03315a6c8d6e7af4e3f87537e220c42c2c9d83
Certificate Object; type = X.509 cert
  label:      8B983B891851E8EF9C0278B8EAC8D420B255C95D
  ID:         8b983b891851e8ef9c0278b8eac8d420b255c95d
Object 3221225477, type 3461563219
Object 3221225480, type 3461563219
Object 3221225483, type 3461563219
Object 3221225486, type 3461563219


Вопрос, почему ifc плагину сносит крышу? Возможно, потому что Label в шестнадцатеричном виде и он считает каждый "байт" за символ?
...
Приверил предположение - так и есть:
951739CF4CF918057DDFA1C413D2E9D5859B0937 в HEX дает вот такой вывод:
Код:
95 17 39 CF  4C F9 18 05  7D DF A1 C4  13 D2 E9 D5  85 9B 09 37                                                                                                          ..9.L...}..........7


При этом в терминале (UTF-8.ru_RU) это выглядит так:

Код:
cat test.txt 
�9�L�}ߡ���Յ�	7


Если посмотреть на выхлоп IFC, мы получаем
Цитата:
DEBUG Cert ID �9�L�}ߡ���Յ� 7


Сейчас посмотрю как это обрабатывает OpenSC и кажется проблема решена, отпишусь.
--- Эльфиек на всех не хватает...
*** А всё таки, она вертится!
thanks 1 пользователь поблагодарил Lirein за этот пост.
aozimkov оставлено 06.03.2019(UTC)
Offline Дмитрий Пичулин  
#16 Оставлено : 29 августа 2017 г. 17:54:14(UTC)
pd

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC)
Сообщений: 1,496
Откуда: КРИПТО-ПРО

Сказал(а) «Спасибо»: 35 раз
Поблагодарили: 466 раз в 333 постах
Автор: Lirein Перейти к цитате
Код:
2017-08-29 18:19:47 ERROR iconv: Неверный или неполный мультибайтный или широкий символ
2017-08-29 18:19:47 ERROR unicode cert_id failed [162]

Крайне странно, c чего бы CKA_ID-у быть unicode, ну да ладно, попробуем: https://update.cryptopro...emp/20170829_pkcs11exid/

Знания в базе знаний, поддержка в техподдержке
thanks 1 пользователь поблагодарил pd за этот пост.
Lirein оставлено 29.08.2017(UTC)
Offline Lirein  
#17 Оставлено : 29 августа 2017 г. 17:54:34(UTC)
Lirein

Статус: Активный участник

Группы: Участники
Зарегистрирован: 18.09.2015(UTC)
Сообщений: 86
Мужчина
Российская Федерация
Откуда: На работе

Сказал «Спасибо»: 18 раз
Поблагодарили: 52 раз в 40 постах
Мистика, pkcs11-tool содержит обертку через макрос, возвращает она ссылку на атрибут Label с преобразованием к ссылочному типу (char *). В приницпе все корректно, ваша библиотека возвращает именно строку, но библиотека ifc парсит её как шестнадцатеричное значение и пытается представить его как строку по каждому байту, ощущение что используется sscanf или аналог при чтении строки.
--- Эльфиек на всех не хватает...
*** А всё таки, она вертится!
thanks 1 пользователь поблагодарил Lirein за этот пост.
aozimkov оставлено 06.03.2019(UTC)
Offline Lirein  
#18 Оставлено : 29 августа 2017 г. 18:07:20(UTC)
Lirein

Статус: Активный участник

Группы: Участники
Зарегистрирован: 18.09.2015(UTC)
Сообщений: 86
Мужчина
Российская Федерация
Откуда: На работе

Сказал «Спасибо»: 18 раз
Поблагодарили: 52 раз в 40 постах
Выхлоп получился чудовищный, результат тоже довольно интересный:

Выхлоп:
ifc.log

Скрины:
UserPostedImage
UserPostedImage
UserPostedImage
UserPostedImage
--- Эльфиек на всех не хватает...
*** А всё таки, она вертится!
thanks 1 пользователь поблагодарил Lirein за этот пост.
aozimkov оставлено 06.03.2019(UTC)
Offline Дмитрий Пичулин  
#19 Оставлено : 29 августа 2017 г. 20:06:33(UTC)
pd

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC)
Сообщений: 1,496
Откуда: КРИПТО-ПРО

Сказал(а) «Спасибо»: 35 раз
Поблагодарили: 466 раз в 333 постах
Автор: Lirein Перейти к цитате
Выхлоп получился чудовищный, результат тоже довольно интересный

К сожалению, далее продвинуться будет сложно, можно ставить крест.

Если есть возможность связаться с разработчиками ifc, то им можно объяснить, что скомпилировать capi вариант под unix вполне реально, выглядеть это будет приблизительно так: https://github.com/deemr...um-gost-build-gostssl.sh

Как видно из "-lcapi10 -lcapi20" придётся на сборочной машине иметь библиотеки и include из CSP для сборки и линковки, но это в тысячу раз более надёжный вариант.

Текущие изменения в pkcs11 выглядят необоснованно ужасно.
Знания в базе знаний, поддержка в техподдержке
Offline Lirein  
#20 Оставлено : 30 августа 2017 г. 5:53:32(UTC)
Lirein

Статус: Активный участник

Группы: Участники
Зарегистрирован: 18.09.2015(UTC)
Сообщений: 86
Мужчина
Российская Федерация
Откуда: На работе

Сказал «Спасибо»: 18 раз
Поблагодарили: 52 раз в 40 постах
Хорошо, попробую попинать Ростелекомовцев, в крайнем случае буду делать свою прослойку и скрещивать ежа с ужом. О результатах, даже если их не будет, отпишусь сюда же.
--- Эльфиек на всех не хватает...
*** А всё таки, она вертится!
thanks 1 пользователь поблагодарил Lirein за этот пост.
nickm оставлено 30.08.2017(UTC)
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
19 Страницы<1234>»
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.