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

Уведомление

Icon
Error

2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline sabretoothedhamster  
#1 Оставлено : 24 июня 2010 г. 1:04:51(UTC)
sabretoothedhamster

Статус: Участник

Группы: Участники
Зарегистрирован: 23.06.2010(UTC)
Сообщений: 24
Откуда: nowhere

Здравствуйте!

Хочу попробовать CryptoPro на Red Hat Enterprise Linux Server release 5.4 (Tikanga)
Поставил дистрибутив:


Цитата:

$rpm -qa |grep cprocsp
lsb-cprocsp-64-3.6.1-4
lsb-cprocsp-capilite-64-3.6.1-4
lsb-cprocsp-base-3.6.1-4
lsb-cprocsp-rdr-pcsc-64-3.6.1-4
lsb-cprocsp-rdr-64-3.6.1-4
lsb-cprocsp-devel-3.6.1-4
lsb-cprocsp-rdr-gui-64-3.6.1-4

$ /opt/cprocsp/bin/amd64/csptest -oid info
CSP (Type:71) v3.6.5358 KC1 Release Ver:3.6.6377 OS:Linux CPU:AMD64 FastCode:NoHardwareSupport.
CSP (Type:75) v3.6.5358 KC1 Release Ver:3.6.6377 OS:Linux CPU:AMD64 FastCode:NoHardwareSupport.
CryptAcquireContext succeeded.HCRYPTPROV: 367723683
Total:
[ErrorCode: 0x00000000]



Пересобрал тесты и стал их запускать как написано в readme.txt
CreatingHash нормально отработал только после того, как вместо touch /tmp/test.dat сделал echo mmm>/tmp/test.dat до этого ругался

Цитата:
The file /tmp/test.dat was opened
Error number : 0x57
Error description: ReadFile failed


csptestf не работает до сих пор.

Цитата:
$ /opt/cprocsp/bin/amd64/csptestf -keyset -silent -newkeyset -container '\\.\hdimage\test'
CSP (Type:71) v3.6.5358 KC1 Release Ver:3.6.6377 OS:Linux CPU:AMD64 FastCode:NoHardwareSupport.
CSP (Type:75) v3.6.5358 KC1 Release Ver:3.6.6377 OS:Linux CPU:AMD64 FastCode:NoHardwareSupport.
AcquireContext: OK. HCRYPTPROV: 457992691
GetProvParam(PP_NAME): Crypto-Pro GOST R 34.10-2001 KC1 CSP
Container name: "test"

Signature key is not available.
Attempting to create a signature key...
An error occurred in running the program.
/dailybuilds/mybuild/CSP/samples/csptest/ctkey.c:1556:GenKey()
Error number 0x80090022 (2148073506).
Provider could not perform the action since the context was acquired as silent.
Total:
[ErrorCode: 0x80090022]


В логе видно вот что:
Цитата:
Jun 23 18:41:48 localhost cpcsp[10470]: capi10:!CryptDestroyHash!() invalid argument(s)!!
Jun 23 18:45:09 localhost cpcsp[10584]: cpcsp: 0x2aaf4b891950: :433 CPCAcquireContext (pszContainer=\\.\hdimage\test, dwFlags=0x48). Result=1, Err=0x0. hProv=1357906120.
Jun 23 18:45:09 localhost cpcsp[10584]: cpcsp:!0x2aaf4b891950:!:199!SetPhisicRSG!rndm_find_mask fail: mask 15 value 5 &random_list 0x1b4cc0a0!
Jun 23 18:45:09 localhost cpcsp[10584]: cpcsp:!0x2aaf4b891950:!:1596!DSRFInitRSG!SetPhisicRSG failed!
Jun 23 18:45:09 localhost cpcsp[10584]: cpcsp:!0x2aaf4b891950:!:749!CreateCryptObject!DSRFInitRSG fail!
Jun 23 18:45:09 localhost cpcsp[10584]: cpcsp:!0x2aaf4b891950:!:1582!CPCGenKey!: CreateCryptObject fail ret obj!
Jun 23 18:45:09 localhost cpcsp[10584]: cpcsp: 0x2aaf4b891950: :1636 CPCGenKey (hProv=1357906120, AlgID=2, dwFlags=0x0). Result=0, Err=0x80090022, hKey=0x0.
Jun 23 18:45:09 localhost cpcsp[10584]: cpcsp: 0x2aaf4b891950: :623 CPCReleaseContext (hProv=1357906120, dwFlags=0x0). Result=1, Err=0x80090020


Почитал форум, решил, что дело в rnd генераторе. Пробовал удалить имеющийся, и ставить другой:

Цитата:

/opt/cprocsp/sbin/amd64/cpconfig -hardware rndm -del bio_tui
/opt/cprocsp/sbin/amd64/cpconfig -hardware rndm -add bio_gui -name bio_gui -level 2
support_dlopen() = 0x(nil) fail (42)
libMrm.so.3: cannot open shared object file: No such file or directory
Adding new rndm:
Nick name: bio_gui
Name device: bio_gui
Level: 2
Failed, code:0x1008
Error code:4104, Connection error.



Что делать?
Offline Татьяна  
#2 Оставлено : 24 июня 2010 г. 17:55:20(UTC)
Татьяна

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

Группы: Участники
Зарегистрирован: 06.02.2008(UTC)
Сообщений: 1,491
Откуда: Крипто-Про

Поблагодарили: 40 раз в 37 постах
можно, например, вернуть обратно bio_tui и просто убрать -silent из команды для создания ключей.

csptestf не работал именно из-за этого флага, так как флаг -silent запрещает взаимодействие с пользователем в процессе работы команды, а биологический датчик не может работать без взаимодействия с пользователем.

Отредактировано пользователем 24 июня 2010 г. 17:58:10(UTC)  | Причина: Не указана

Татьяна
ООО Крипто-Про
Offline sabretoothedhamster  
#3 Оставлено : 24 июня 2010 г. 20:15:09(UTC)
sabretoothedhamster

Статус: Участник

Группы: Участники
Зарегистрирован: 23.06.2010(UTC)
Сообщений: 24
Откуда: nowhere

Спасибо! Убрал ключ -silent, и заодно поставил отсутствовавший openmotif22, которого не хватало для работы bio_gui датчика, и из-за которого была ошибка "libMrm.so.3: cannot open shared object file: No such file or directory" (про это тоже стоит упомянуть в документации или FAQ). После этого команда "csptestf -keyset -silent -newkeyset -container '\\.\hdimage\test'" отработала нормально. Странно только, что инициализацию rnd она просила с консоли, а пароли на контейнеры спрашивала через gui.

Как можно перебросить запрос паролей на контейнеры на консоль?
Какой ДСЧ не требует взаимодействия с пользователем?


Далее CryptAcquireContext отработал нормально (опять же без ключа -silent), а следующий спотыкач вышел с тестом CryptMessages:
Цитата:

$ src/sdk/samples/CSP/CryptMessages/CryptMessages
source message: Security is our business
message length: 25 bytes
CSP has been acquired.
The MY store is open.
No certificate with a CERT_KEY_CONTEXT_PROP_ID
property and an AT_KEYEXCHANGE private key available.
While the message could be encrypted, in this case,
it could not be decrypted in this program.
For more information, see the documentation for
CrypteEncryptMessage and CryptDecryptMessage.

Error number : 0x80092004
Error description: No Certificate with AT_KEYEXCHANGE key in store.
The MY store was closed without incident.
The CSP has been released.


Это так и было задумано, чтобы тест списка, приведенного в readme.txt завершался с ошибкой? Или я чего-то не понимаю?
Offline Татьяна  
#4 Оставлено : 24 июня 2010 г. 20:32:06(UTC)
Татьяна

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

Группы: Участники
Зарегистрирован: 06.02.2008(UTC)
Сообщений: 1,491
Откуда: Крипто-Про

Поблагодарили: 40 раз в 37 постах
Обращу внимание авторов на команду в readme.

Без вывода окон может работать датчик "исходный материал" или аппаратные датчики(идея датчика "исходный материал" заключается в том, что он делает ключи на базе некоторой полученной извне гаммы, утилита для генерации гаммы тоже есть).

В данный момент графические окна используются всегда, если выполнены условия:
- доступна библиотека libXm
- переменные окружения правильно указывают на работающую сессию X-ов
- не используется silent-режим (флаг CRYPT_SILENT)

Если какое-то из первых двух условий не выполнено, используется консоль.

В ближайшее время наши разработчики планируют перенести возможности работы с графическим вводом пароля в пакет rdr-gui(то есть, правильным ответом на вопрос "Как можно перебросить запрос паролей на контейнеры на консоль?" скоро станет "не использовать rdr-gui").
Татьяна
ООО Крипто-Про
Offline sabretoothedhamster  
#5 Оставлено : 24 июня 2010 г. 20:48:48(UTC)
sabretoothedhamster

Статус: Участник

Группы: Участники
Зарегистрирован: 23.06.2010(UTC)
Сообщений: 24
Откуда: nowhere

Про пароли на контейнеры вроде понятно, а вот с датчиком - нет. Что нужно указать в команде "cpconfig -hardware rndm -add" чтобы установился и активизировался датчик "исходный материал" ?

И по-поводу теста CryptMessages - он все-таки должен отрабатывать без ошибок (т.е. в моем случае проблема в имеющейся инсталяции cryptopro), или ошибка ("No Certificate with AT_KEYEXCHANGE key in store.") должна происходить при указанной в readme.txt последовательности запуска тестов, и призвана нечто проиллюстрировать? Увы, в самом readme про это ничего не написано...
Offline Татьяна  
#6 Оставлено : 24 июня 2010 г. 21:04:37(UTC)
Татьяна

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

Группы: Участники
Зарегистрирован: 06.02.2008(UTC)
Сообщений: 1,491
Откуда: Крипто-Про

Поблагодарили: 40 раз в 37 постах
По поводу примера:
для его функционирования необходим контейнер с ключом AT_KEYEXCHANGE с именем, совпадающим с именем текущего пользователя.

его можно сделать, например, командой

/opt/cprocsp/bin/ia32/csptest -keyset -newkeyset -keytype exchange -cont <имя пользователя>

Вообще рецепт для сборки и запуска примеров достаточно приблизительный(одни работают при одних условиях, другие при других, зачастую эти условия не совместимы и то, что выполняются не все тесты -- нормально). Для каждого пример в комментариях написано что он демонстрирует и каковы условия его запуска.
Татьяна
ООО Крипто-Про
Offline Татьяна  
#7 Оставлено : 24 июня 2010 г. 21:06:54(UTC)
Татьяна

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

Группы: Участники
Зарегистрирован: 06.02.2008(UTC)
Сообщений: 1,491
Откуда: Крипто-Про

Поблагодарили: 40 раз в 37 постах
По поводу датчика: дайте почту, пришлю утилиту для создания гаммы и руководство к ней.
Настройку опишу здесь, потому что может быть полезно другим пользователям.


Для настройки КПИМ:

1. необходимо получить сами файлы с исходным материалом, они делаются утилитой. Для удобства считаем, что они лежат в /tmp/dsrf/db1/kis_1 и /tmp/dsrf/db2/kis_1

2. скопировать их: cp -R /tmp/dsrf /var/opt/cprocsp

3. добавить и настроить ДСЧ. в 32-битном режиме:

/opt/cprocsp/sbin/ia32/cpconfig -hardware rndm -add cpsd -name 'CPSD RNG' -level 1

/opt/cprocsp/sbin/ia32/cpconfig -hardware rndm -configure cpsd -add string /db1/kis_1 /var/opt/cprocsp/dsrf/db1/kis_1

/opt/cprocsp/sbin/ia32/cpconfig -hardware rndm -configure cpsd -add string /db2/kis_1 /var/opt/cprocsp/dsrf/db2/kis_1

4. Если используете 64-разрядную систему, то аналогично - в 64-битном режиме:

/opt/cprocsp/sbin/amd64/cpconfig -hardware rndm -add cpsd -name 'CPSD RNG' -level 1

/opt/cprocsp/sbin/amd64/cpconfig -hardware rndm -configure cpsd -add string /db1/kis_1 /var/opt/cprocsp/dsrf/db1/kis_1

/opt/cprocsp/sbin/amd64/cpconfig -hardware rndm -configure cpsd -add string /db2/kis_1 /var/opt/cprocsp/dsrf/db2/kis_1

5. перезапустить сервис: /etc/init.d/cprocsp restart



В процессе работы файлы kis_1 будут уменьшаться (на 36 байт на каждый созданный ключ), поэтому их необходимо будет пополнять.
Татьяна
ООО Крипто-Про
Offline sabretoothedhamster  
#8 Оставлено : 24 июня 2010 г. 21:19:42(UTC)
sabretoothedhamster

Статус: Участник

Группы: Участники
Зарегистрирован: 23.06.2010(UTC)
Сообщений: 24
Откуда: nowhere

Пришлите, пожалуйста, утилиту на kjismokzqupe@spammotel.com !
Offline sabretoothedhamster  
#9 Оставлено : 24 июня 2010 г. 21:29:16(UTC)
sabretoothedhamster

Статус: Участник

Группы: Участники
Зарегистрирован: 23.06.2010(UTC)
Сообщений: 24
Откуда: nowhere

А с CryptMessages все равно не получается :( Делаю все как по писанному:

Цитата:

$ whoami
user
$ /opt/cprocsp/bin/amd64/csptestf -keyset -newkeyset -container '\\.\hdimage\user'
CSP (Type:71) v3.6.5358 KC1 Release Ver:3.6.6377 OS:Linux CPU:AMD64 FastCode:NoHardwareSupport.
CSP (Type:75) v3.6.5358 KC1 Release Ver:3.6.6377 OS:Linux CPU:AMD64 FastCode:NoHardwareSupport.
AcquireContext: OK. HCRYPTPROV: 287406547
GetProvParam(PP_NAME): Crypto-Pro GOST R 34.10-2001 KC1 CSP
Container name: "user"

Signature key is not available.
Attempting to create a signature key...
a signature key created.
Exchange key is not available.
Attempting to create an exchange key...
an exchange key created.

Keys in container:
signature key
exchange key
Total:
[ErrorCode: 0x00000000]
$ /opt/cprocsp/bin/amd64/csptestf -keyset -check -container '\\.\hdimage\user'
CSP (Type:71) v3.6.5358 KC1 Release Ver:3.6.6377 OS:Linux CPU:AMD64 FastCode:NoHardwareSupport.
CSP (Type:75) v3.6.5358 KC1 Release Ver:3.6.6377 OS:Linux CPU:AMD64 FastCode:NoHardwareSupport.
AcquireContext: OK. HCRYPTPROV: 396880339
GetProvParam(PP_NAME): Crypto-Pro GOST R 34.10-2001 KC1 CSP
Container name: "user"

Signature key is available. HCRYPTKEY: 0x17ae6673
Exchange key is available. HCRYPTKEY: 0x17ae5143
Check key passed.

Keys in container:
signature key
exchange key
Total:
[ErrorCode: 0x00000000]
$ src/sdk/samples/CSP/CryptMessages/CryptMessages
source message: Security is our business
message length: 25 bytes
CSP has been acquired.
The MY store is open.
No certificate with a CERT_KEY_CONTEXT_PROP_ID
property and an AT_KEYEXCHANGE private key available.
While the message could be encrypted, in this case,
it could not be decrypted in this program.
For more information, see the documentation for
CrypteEncryptMessage and CryptDecryptMessage.

Error number : 0x80092004
Error description: No Certificate with AT_KEYEXCHANGE key in store.
The MY store was closed without incident.
The CSP has been released.


Все логи поставлены на максимум, но в них кроме загадочного

Цитата:

Jun 24 15:25:57 localhost cpcsp[21128]: capi10:!0x2ae4ff5e2910:!:471!CryptReleaseContext!() invalid argument(s)!!


при запуске CryptMessages ничего не появляется...
Offline Татьяна  
#10 Оставлено : 24 июня 2010 г. 21:56:18(UTC)
Татьяна

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

Группы: Участники
Зарегистрирован: 06.02.2008(UTC)
Сообщений: 1,491
Откуда: Крипто-Про

Поблагодарили: 40 раз в 37 постах
прочитала исходник:) извиняюсь, нужен ещё сертификат, соответсвующий ключу.
если компьютер подключен к интернету, можно сделать так:

/opt/cprocsp/bin/ia32/cryptcp -creatcert -dn 'CN=test' -cont \\.\HDIMAGE\user -nokeygen -ca http://www.cryptopro.ru/certsrv
Татьяна
ООО Крипто-Про
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
2 Страницы12>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.