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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline defimov  
#1 Оставлено : 14 апреля 2022 г. 22:05:51(UTC)
defimov

Статус: Новичок

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

Добрый день.

Подскажите, где я могу найти документацию разработчика по пакетам(библиотекам), которые я скачал с сайта https://cryptopro.ru/products/csp/downloads
для КриптоПро CSP 5.0 R3?
по ссылкам :
https://cryptopro.ru/sit...0/12417/aurora-armhf.tgz
https://cryptopro.ru/sit...50/12417/aurora-ia32.tgz

Где было бы подробно описано, как работать с объектами и их методами для конкретных действий, порядок вызова методов, инструкции по их использованию, инструкцией по подключению библиотек.
И примеры по работе с библиотеками и методами.

Спасибо.
Offline Андрей Русев  
#2 Оставлено : 15 апреля 2022 г. 12:16:35(UTC)
Андрей Русев

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

Группы: Администраторы, Участники
Зарегистрирован: 16.04.2008(UTC)
Сообщений: 931

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 254 раз в 195 постах
Здравствуйте.
https://support.cryptopr...7/0/sbork-primerov-n-nix
Если вы не знакомы с CryptoAPI, настоятельно рекомендую писать код так, чтобы касающуюся криптографии часть можно было собрать и отладить под обычным Linux. Это сэкономит много времени и сил, так как CryptoAPI и так непростой интерфейс, а разработка под Аврору сопровождается значительными дополнительными трудностями.
Официальная техподдержка. Официальная база знаний.
Offline defimov  
#3 Оставлено : 15 апреля 2022 г. 14:18:11(UTC)
defimov

Статус: Новичок

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

1) А есть ли подробная документация разработчика под Linux где бы описывались различные моменты, последовательность действий по CryptoAPI?
Или вот этих 4-х пунктах \|/ есть всё, что нужно, чтоб разобраться?

1.Описание реализации (pdf-документ из комплекта документации на СКЗИ)
2.Правила пользования (pdf-документ из комплекта документации на СКЗИ), особенно "Приложение 2" - "Перечень вызовов, использование которых при разработке систем на основе СКЗИ возможно без дополнительных тематических исследований"
3.Раздел про криптографию на MSDN - здесь наиболее объёмная документация на API
4.Руководство программиста - дополняет MSDN в части поддержки отечественных алгоритмов, а также расширения API в нашем СКЗИ

1 и 2 брать из этого архива:?
https://cryptopro.ru/sit...csp/50/12417/doc-kc1.zip

2) Я нашёл примеры в пакете cprocsp-binaries-5.0.12417-4.i686.rpm
и они собираются по командам из редми.

Я попробовал добавить код из src/doxygen/CSP/CreatingKeyContainer/CreatingKeyContainer.c
в свой проект, но после завершения энтропии (при вызове метода CryptGenKey) выдаётся такая ошибка:
Error number : 0x80090020

/**/
/* MessageId: NTE_FAIL*/
/**/
/* MessageText:*/
/**/
/* An internal error occurred.*/
/**/
#define NTE_FAIL _HRESULT_TYPEDEF_(0x80090020L)

Но как я теперь понял:
- механизм отображения диалогов провайдера (БиоДСЧ, ввод пароля) из сторонних приложений находится в проработке, до её завершения необходимо перенести эту задачу на прикладное ПО: задавать пароли с помощью CryptSetProvParam(PP_KEYEXCHANGE_PIN), вместо генерации ключей использовать импорт готовых контейнеров из pfx или отделяемые носители.
Или это другая ошибка?

Где можно почитать про "импорт готовых контейнеров из pfx"?

3) Я правильно понимаю, первое что нужно сделать это создать 'ключевой контейнер'(или импортировать готовых контейнеров из pfx), и потом установить сертификат в него, и уже с помощью ключевого контейнера подписывать документы?
Есть ли описание этого процесса, чтоб понять логику и порядок вызова методов жизненного цикла?
И про то, на каком этапе нужно взаимодействовать УЦ, про отправку запроса на сертификат на удостоверяющий центр.
Чтоб было понятно что за чем следует и от чего зависит.

4) Я правильно понимаю, что нужно использовать только пакеты из R3 для 4-й версии авроры, или можно всё-таки попробовать для R2, как я понял экран энтропии добавлен в R3 или без энтропии никак?

Спасибо.
Offline Андрей Русев  
#4 Оставлено : 15 апреля 2022 г. 17:57:01(UTC)
Андрей Русев

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

Группы: Администраторы, Участники
Зарегистрирован: 16.04.2008(UTC)
Сообщений: 931

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 254 раз в 195 постах
1) Учебник по CryptoAPI и в частности по КриптоПро я сходу не назову. Такие курсы ведутся в некоторых ВУЗах для студентов, но выложены ли материалы, я не знаю. Этих 4-х пунктов может быть недостаточно. Наверное, лучше всего начать с примеров из пакета SDK, чтобы бегло сориентироваться в API.

pdf-ы в этом архиве, да.

2) CryptGenKey не работает из-за БиоДСЧ, да. В личку скину ночную сборку, где эта проблема частично решена.

https://docs.microsoft.c...crypt-pfximportcertstore
после этого сертификаты надо скопировать в хранилище "my".

3) Да. Причём обычно (безграмотно, но отчасти верно) говорят "подписывать сертификатом" как раз потому, что сертификат ставится в хранилище "my" со ссылкой на закрытый ключ, а потом функции подписи сами по сертификату находят контейнер и ключ.

4) Только 5.0 R3
Официальная техподдержка. Официальная база знаний.
Offline defimov  
#5 Оставлено : 18 апреля 2022 г. 9:36:22(UTC)
defimov

Статус: Новичок

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

Добрый день.

1) Я попробовал установить пакеты из ночной сборки, архива aurora-ia32_5.0.12470_r240661.tgz, но при использовании примера CreatingKeyContainer после завершения БиоДСЧ (при вызове метода CryptGenKey) ошибка 0x80090020 остаётся.
Нет ли тестового pfx файла с закрытым ключом, чтобы можно было попробовать подписать запрос на сертификат и установить туда сертификат и попробовать подписать документы?

2) Я попробовал добавить код из примера src/doxygen/CSP/CPCA20/CPCA20.cpp в свой проект, с использованием тестового УЦ:
https://testca2012.cryptopro.ru/ui | b1ca4992-d7cd-4f7e-b56e-a81e00db58ee
но при вызове UnixRequest::GetUserRegisterInfo возникает такая ошибка:
[D] HandleError:68 - Error number : 0x2f8f
Child exited with status 143

Что она означает я не нашёл.
Ссылка для регистрации https://testca2012.crypt....ru/ui/1/RegRequest.aspx с http://testca2012.cryptopro.ru/ui/ не открывается.
Я попробовал установить пакеты R2 на Ubuntu 21.10, но при вызове UnixRequest::GetUserRegisterInfo происходит segmentation fault.
Не могли бы вы пояснить в чём может быть проблема?

И подскажите какой адрес УЦ 1.5 для примера CPCA15 использовать?

3) Я попробовал установить rpm пакеты R2:
lsb-cprocsp-base-5.0.12000-6.noarch.rpm
lsb-cprocsp-ca-certs-5.0.12000-6.noarch.rpm
lsb-cprocsp-capilite-64-5.0.12000-6.x86_64.rpm
lsb-cprocsp-devel-5.0.12000-6.noarch.rpm
lsb-cprocsp-kc1-64-5.0.12000-6.x86_64.rpm
lsb-cprocsp-rdr-64-5.0.12000-6.x86_64.rpm

на Arch Linux, но при использовании примера CreatingKeyContainer в методе:
CryptAcquireContextA(
&hCryptProv,
containerName,
NULL,
PROV_GOST_2012_256,
CRYPT_NEWKEYSET))

происходит ошибка:
/**/
/* MessageId: NTE_PROV_TYPE_NOT_DEF*/
/**/
/* MessageText:*/
/**/
/* Provider type not defined.*/
/**/
#define NTE_PROV_TYPE_NOT_DEF _HRESULT_TYPEDEF_(0x80090017L)


Могли бы подсказать что не хватает для работы с криптопровайдером на Arch Linux?
Нужно что-нибудь установить, запустить?
На Ubuntu 21.10 попробовал установить пакеты R2, но в этом методе проблем нет.
На Ubuntu какая-то служба криптопровайдера запускается?

Спасибо.

Отредактировано пользователем 18 апреля 2022 г. 10:57:47(UTC)  | Причина: Не указана

Offline Андрей Русев  
#6 Оставлено : 18 апреля 2022 г. 18:06:08(UTC)
Андрей Русев

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

Группы: Администраторы, Участники
Зарегистрирован: 16.04.2008(UTC)
Сообщений: 931

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 254 раз в 195 постах
1. Проблему подтверждаю, пока не исправили. В ближайшие несколько дней БиоДСЧ починим. Возможно, придётся обновить Аврору, чтобы всё заработало, так как на её стороне тоже нередко вносятся исправления.
pfx вы можете сделать на десктопе сами:
Код:
[rt-user@hw-x64-cent7 ~]$ /opt/cprocsp/bin/amd64/cryptcp -creatcert -exprt -rdn 'CN=user_name' -cont 'user_cont'
CryptCP 5.0 (c) "Crypto-Pro", 2002-2021.
Command prompt Utility for file signature and encryption.
Creating request...
Crypto-Pro GOST R 34.10-2012 KC1 CSP requests new container password
New password:
Confirm password:
Sending request to CA...
Installing certificate...
Message contains root certificate that is absent in your root store.
RDN:"Тестовый УЦ ООО ""КРИПТО-ПРО""", "ООО ""КРИПТО-ПРО""", Москва, г. Москва, RU, ул. Сущёвский вал д. 18, 001234567890, 1234567890123
Valid from 12.09.2018 10:19:30 to 12.09.2023 10:28:55

Do you want to add it to Root store? [Y]es or [N]o: y
Adding certificate to Root store.
CPCSP: Warning: installing a root certificate with an unconfirmed thumbprint is a security risk. Do you want to install this certificate?
Subject: Тестовый УЦ ООО "КРИПТО-ПРО"
Thumbprint (sha1): 927C1E1EB2B397CBC5D11712E2E3BBEDC876BD7E
(o)OK, (c)Cancel
o
Crypto-Pro GOST R 34.10-2012 KC1 CSP requests container password
Type password:
Certificate is installed.
[ErrorCode: 0x00000000]
[rt-user@hw-x64-cent7 ~]$ /opt/cprocsp/bin/amd64/certmgr -export -pfx -dn 'CN=user_name' -dest /tmp/t.pfx -pin 1234
Certmgr 1.1 (c) "Crypto-Pro", 2007-2021.
Program for managing certificates, CRLs and stores.
Exporting:
=============================================================================
1-------
Issuer              : ОГРН=1234567890123, ИНН=001234567890, STREET=ул. Сущёвский вал д. 18, C=RU, S=г. Москва, L=Москва, O="ООО ""КРИПТО-ПРО""", CN="Тестовый УЦ ООО ""КРИПТО-ПРО"""
Subject             : CN=user_name
Serial              : 0x7C00051DF9C308D5E0885E4F56000100051DF9
SHA1 Thumbprint     : 65a35008f2f6c4ba63d20e97b7b4fe05019fab4a
SubjKeyID           : 58bce6882c383312ab0d5cb5aae008a19f920aed
Signature Algorithm : ГОСТ Р 34.11-2012/34.10-2012 256 бит
PublicKey Algorithm : ГОСТ Р 34.10-2012 256 бит (512 bits)
Not valid before    : 18/04/2022 13:15:00 UTC
Not valid after     : 18/07/2022 13:25:00 UTC
PrivateKey Link     : Yes
Container           : HDIMAGE\\userrcon.000\B464
Provider Name       : Crypto-Pro GOST R 34.10-2012 KC1 CSP
Provider Info       : Provider Type: 80, Key Spec: 1, Flags: 0x0
CA cert URL         : http://testgost2012.cryptopro.ru/CertEnroll/root2018.crt
OCSP URL            : http://testgost2012.cryptopro.ru/ocsp2012g/ocsp.srf
OCSP URL            : http://testgost2012.cryptopro.ru/ocsp2012gst/ocsp.srf
CDP                 : http://testgost2012.cryptopro.ru/CertEnroll/!0422!0435!0441!0442!043e!0432!044b!0439%20!0423!0426%20!041e!041e!041e%20!0022!041a!0420!0418!041f!0422!041e-!041f!0420!041e!0022(1).crl
CDP                 : http://testgost2012.cryptopro.ru/CertEnroll/testgost2012(1).crl
=============================================================================
Crypto-Pro GOST R 34.10-2012 KC1 CSP requests container password
Type password:

[ErrorCode: 0x00000000]

Если экспортировать сертификат с ключом через cptools (Инструменты КриптоПро), то в него кроме сертификата пользователя можно по галке положить также цепочку сертификатов до корневого УЦ. А при обработке после PFXImportCertStore надо учитывать, какой сертификат куда класть. Если делать совсем топорно, то можно так:
https://github.com/deemr...rc/msspi.cpp#L1989-L2009
Раскодирование из BASE64 (CryptStringToBinaryA) не нужно, так как pfx/pkcs#12 - это конкретный формат, который не может быть в BASE64.

2. При разработке как правило лучше использовать последнюю версию, так как там исправлено наибольшее число ошибок. В частности в этих примерах они исправлялись.
УЦ 1.5 безнадёжно устарел: он не поддерживает ГОСТ Р 34.10-2012, а только ГОСТ Р 34.10-2001, создание подписей с участием которого запрещено с 1 января 2020 года в соответствии с письмом ФСБ России от 07.09.2018 №149/7/6-363.

3. Arch мы официально не поддерживаем, но по братски я помогал. Ваша проблема похожа как раз на то, что я патчил.
Официальная техподдержка. Официальная база знаний.
Offline defimov  
#7 Оставлено : 18 апреля 2022 г. 18:19:38(UTC)
defimov

Статус: Новичок

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

Спасибо.

Хотел бы уточнить по поводу 2-го пункта:

Цитата:
2) Я попробовал добавить код из примера src/doxygen/CSP/CPCA20/CPCA20.cpp в свой проект, с использованием тестового УЦ:
https://testca2012.cryptopro.ru/ui | b1ca4992-d7cd-4f7e-b56e-a81e00db58ee
но при вызове UnixRequest::GetUserRegisterInfo возникает такая ошибка:
[D] HandleError:68 - Error number : 0x2f8f
Child exited with status 143

Что она означает я не нашёл.
Ссылка для регистрации https://testca2012.crypt....ru/ui/1/RegRequest.aspx с http://testca2012.cryptopro.ru/ui/ не открывается.

Я этот пример пробовал на эмуляторе Аврора ОС с пакетами R3. И ошибка:
[D] HandleError:68 - Error number : 0x2f8f
Child exited with status 143

Появляется там.

Не могли бы подсказать в чём может быть проблема на Аврора ОС, с пакетами R3?
Offline defimov  
#8 Оставлено : 19 апреля 2022 г. 15:15:11(UTC)
defimov

Статус: Новичок

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

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

Спасибо.
Offline Андрей Русев  
#9 Оставлено : 20 апреля 2022 г. 17:08:05(UTC)
Андрей Русев

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

Группы: Администраторы, Участники
Зарегистрирован: 16.04.2008(UTC)
Сообщений: 931

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 254 раз в 195 постах
По примеру подскажу позже. Лицензию можно ввести с помощью нашего приложения через UI.
Официальная техподдержка. Официальная база знаний.
Offline defimov  
#10 Оставлено : 20 апреля 2022 г. 17:12:49(UTC)
defimov

Статус: Новичок

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

Понятно, спасибо, будем ждать ответ по примеру.
Offline defimov  
#11 Оставлено : 12 мая 2022 г. 17:12:03(UTC)
defimov

Статус: Новичок

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

Автор: defimov Перейти к цитате
Спасибо.

Хотел бы уточнить по поводу 2-го пункта:

Цитата:
2) Я попробовал добавить код из примера src/doxygen/CSP/CPCA20/CPCA20.cpp в свой проект, с использованием тестового УЦ:
https://testca2012.cryptopro.ru/ui | b1ca4992-d7cd-4f7e-b56e-a81e00db58ee
но при вызове UnixRequest::GetUserRegisterInfo возникает такая ошибка:
[D] HandleError:68 - Error number : 0x2f8f
Child exited with status 143

Что она означает я не нашёл.
Ссылка для регистрации https://testca2012.crypt....ru/ui/1/RegRequest.aspx с http://testca2012.cryptopro.ru/ui/ не открывается.

Я этот пример пробовал на эмуляторе Аврора ОС с пакетами R3. И ошибка:
[D] HandleError:68 - Error number : 0x2f8f
Child exited with status 143

Появляется там.

Не могли бы подсказать в чём может быть проблема на Аврора ОС, с пакетами R3?


Добрый день.

Я попробовал пакет ru.cryptopro.csp-5.0.12480-4, который вы прислали ранее в ЛС
1) Пример
src/doxygen/CSP/CPCA20
так-же завершается ошибкой
HandleError:68 - Error number : 0x2f8f
при вызове метода UnixRequest::GetUserRegisterInfo
Вы не подскажете по нему информацию?

2) Пример
src/doxygen/CSP/CreatingKeyContainer
завершается созданием контейнера, но метод CryptGetUserKey возвращает false и выводится "No exchange key is available.".
Это правильное поведение?

3) Я пробовал вызвать
/usr/libexec/ru.cryptopro.csp/bin/csptest -keyset -newkeyset -container '\\.\hdimage\test_search' -keytype exchange -fmakecert ~/test_search.cer -pass 1234
это пример из файла src/readme.unix
но его вывод подвисает и не завершается:
CPRO_VAR_PATH not set, using defaults
/home/defaultuser found!
/home/defaultuser/Public found!
/home/defaultuser/Public/.config/ found!
/home/defaultuser/Public/.config/cprocsp/ found!
/home/defaultuser/Public/.config/cprocsp//users found!
/home/defaultuser/Public/.config/cprocsp//users/stores found!
/home/defaultuser/Public/.config/cprocsp//keys found!
/home/defaultuser/Public/.config/cprocsp//tmp found!
/home/defaultuser/Public/.config/cprocsp//dsrf found!
/home/defaultuser/Public/.config/cprocsp//dsrf/db1 found!
/home/defaultuser/Public/.config/cprocsp//dsrf/db2 found!
CSP (Type:80) v5.0.10010 KC1 Release Ver:5.0.12480 OS:Linux CPU:IA32 FastCode:READY:AVX.
AcquireContext: OK. HCRYPTPROV: 169869315
GetProvParam(PP_NAME): Crypto-Pro GOST R 34.10-2012 KC1 CSP
Container name: "test_search"
Exchange key is not available.
Attempting to create an exchange key...
[D] unknown:0 - DWORD run_xcpui_app(int*, int*, pid_t&)
[D] unknown:0 - ### Sending fds: 6 , 9

Что может быть не так?

4) Для примера src/doxygen/CSP/EncryptFile как я понимаю нужна лицензия, есть ли тестовая лицензия для проверки?

5) Можно ли создать сертификат на устройстве, что-бы положить его потом в контейнер и как это сделать?

Спасибо.

Отредактировано пользователем 12 мая 2022 г. 17:12:42(UTC)  | Причина: Не указана

Offline Андрей Русев  
#12 Оставлено : 12 мая 2022 г. 19:52:01(UTC)
Андрей Русев

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

Группы: Администраторы, Участники
Зарегистрирован: 16.04.2008(UTC)
Сообщений: 931

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 254 раз в 195 постах
Здравствуйте.
Начинать надо с п.3. Он должен работать. Какая у вас версия Авроры? Вероятно, надо обновиться примерно до 4.0.2.36.
После строчки "Sending fds: 6 , 9" на экране устройства должен появиться БиоДСЧ. Если это первое обращение к CSP, то дополнительно будет системный диалог
Цитата:
КриптоПро CSP требует следующее разрешение на доступ
Общедоступный каталог
[отменить] [подтвердить]

Если отменить, то в консоли будет ошибка "действие отменено пользователем", иначе окно БиоДСЧ. Для верности можно сперва запусить пальцем приложение "КриптоПро CSP", чтобы оно явно получило разрешения.

Лицензия не требуется для создания ключа, а также для выпуска сертификата, если эта операция делается вместе с созданием ключа (в csptest именно так).

Можно ввести демонстрационную лицензию от десктопного КриптоПро CSP 5.0 из консоли под devel-su:
Код:
[root@INOIP4903 defaultuser]# CPRO_VAR_PATH=/home/defaultuser/Public/.config/cprocsp /usr/libexec/ru.cryptopro.csp/sbin/cpconfig -license -set 50500-10037-ELQF5-H28KM-8E6BA
/home/defaultuser/Public/.config/cprocsp/ found!
/home/defaultuser/Public/.config/cprocsp//users found!
/home/defaultuser/Public/.config/cprocsp//users/stores found!
/home/defaultuser/Public/.config/cprocsp//keys found!
/home/defaultuser/Public/.config/cprocsp//tmp found!
/home/defaultuser/Public/.config/cprocsp//dsrf found!
/home/defaultuser/Public/.config/cprocsp//dsrf/db1 found!
/home/defaultuser/Public/.config/cprocsp//dsrf/db2 found!
^D
[defaultuser@INOIP4903 ~]$ /usr/libexec/ru.cryptopro.csp/sbin/cpconfig -license -view
CPRO_VAR_PATH not set, using defaults
/home/defaultuser found!
/home/defaultuser/Public found!
/home/defaultuser/Public/.config/ found!
/home/defaultuser/Public/.config/cprocsp/ found!
/home/defaultuser/Public/.config/cprocsp//users found!
/home/defaultuser/Public/.config/cprocsp//users/stores found!
/home/defaultuser/Public/.config/cprocsp//keys found!
/home/defaultuser/Public/.config/cprocsp//tmp found!
/home/defaultuser/Public/.config/cprocsp//dsrf found!
/home/defaultuser/Public/.config/cprocsp//dsrf/db1 found!
/home/defaultuser/Public/.config/cprocsp//dsrf/db2 found!
License validity:
5050010037ELQF5H28KM8E6BA
Expires: 94 day(s)
License type: Demo.

Отредактировано пользователем 12 мая 2022 г. 19:52:39(UTC)  | Причина: Не указана

Официальная техподдержка. Официальная база знаний.
Offline defimov  
#13 Оставлено : 13 мая 2022 г. 15:58:29(UTC)
defimov

Статус: Новичок

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

Добрый день.

Да, я не посмотрел на окно эмулятора при команде
/usr/libexec/ru.cryptopro.csp/bin/csptest -keyset -newkeyset -container '\\.\hdimage\test_search' -keytype exchange -fmakecert ~/test_search.cer -pass 1234
Создать контейнер и сертификат получилось.
Так-же получилось установить лицензию и попробовать примеры EncryptFile и DecryptFile.

Ошибка пока остаётся с примером CPCA20.

Всё это я делал на эмуляторе SDK AuroraOS-4.0.1.20.

Я попытался попробовать свой пример на устройстве с версией авроры 4.0.1.3.
Для устранения проблем с валидатором авроры пришлось либы которые нужны в примере (ibcapi10.so, libcapi20.so, libenroll.so, librdrsup.so, libssp.so) поместить в каталок с примером(/usr/share/****/lib), как рекомендуется.
И валидация прошла успешно. И пакет с примером был установлен.

Но при запуске примера выводится следующее сообщение:
error while loading shared libraries: liburlretrieve.so.4: failed to map segment from shared object

Погуглив про эту ошибку с другой либой, решением является:
Сделать /tmp исполняемым.

Вы могли бы прокоментировать это и дать рекомендации, что нужно сделать, что-бы можно было протестировать ru.cryptopro.csp на устройстве.

Спасибо.

Отредактировано пользователем 13 мая 2022 г. 16:35:59(UTC)  | Причина: Не указана

Offline Андрей Русев  
#14 Оставлено : 13 мая 2022 г. 18:05:58(UTC)
Андрей Русев

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

Группы: Администраторы, Участники
Зарегистрирован: 16.04.2008(UTC)
Сообщений: 931

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 254 раз в 195 постах
Автор: defimov Перейти к цитате
Я попытался попробовать свой пример на устройстве с версией авроры 4.0.1.3.
...
Вы могли бы прокоментировать это и дать рекомендации, что нужно сделать, что-бы можно было протестировать ru.cryptopro.csp на устройстве.

Проблема в том, как вы грузите библиотеки. Наши примеры в этом смысле для Авроры не пододят (годятся только для Sailfish или Авроры без изоляции - на эмуляторе). Повторю свою ссылку:
https://support.cryptopr...7/0/sbork-primerov-n-nix
Цитата:
подключать их можно только с помощью dlopen

Это ограничение от ОМП. Они рассуждали так: когда приложение1 зависит от библиотек приложения2 и приложение2 не установлено, то при запуске приложения1 пользователь не будет видеть вообще ничего. В этом есть логика, но только в предположении, что разработчики приложения1 бездарные бараны. Ведь они могут выделить в приложении1 общение с приложением2 в отдельную библиотеку_изолятор с удобной линковкой и удобным интерфейсом для самого приложения, а при запуске приложения1 грузить именно библиотеку_изолятор с помощью dlopen, проверяя таким образом, что зависимость от приложения2 разрешена. Но убедить авроровцев не удалось.
Официальная техподдержка. Официальная база знаний.
Offline defimov  
#15 Оставлено : 16 мая 2022 г. 9:35:50(UTC)
defimov

Статус: Новичок

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

Добрый день.

Я попробовал подгрузить библиотеку libcapi10.so при помощи dlopen, но dlerror выдаёт следующую ошибку:
dlopen() error: /usr/lib/3rdparty/ru.cryptopro.csp/lib/libcapi10.so: сбой отображения сегмента из разделяемого объекта

Есть ли ещё какие-нибудь рекомендации?

Спасибо.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.