28.05.2007 17:34:53Проблема при расшифровке файла в redhat Ответов: 11
Marat
проблема следующего плана: проверяю работоспособность cryptopro на redhat - установил дистрибутив криптопро:
rpm -qa |grep cpcsp
cpcsp-rdr-3.0.4-9
cpcsp-pkcs11-3.0.4-9
cpcsp-3.0.4-9
cpcsp-drv-3.0.4-9
cpcsp-kc2-3.0.4-9
cpcsp-capilite-3.0.4-9
.
Затем установил дистрибутив криптопро для виндовс. В тестовом уц получил тестовый сертификат - под виндовс. Выполнил экспорт открытого ключа, перенёс файлик на redhat.
Далее - проверяю работоспособность криптопро:
/usr/CPROcsp/bin/cryptcp -encr -f t_test_cpro.cer test.txt test3.msg
CryptCP 3.00 (c) "Crypto-Pro", 2002-2003.
Command prompt Utility for data protection.
-encr - Encrypts data and creates a message.

The following certificate will be used:
RDN:Test, RU, lmar@mail.ru
Valid from 27.05.2007 22:34:00 to 27.05.2008 22:43:00

Certificate chain aren't checked for this certificate:
RDN:Test, RU, lmar@mail.ru
Valid from 27.05.2007 22:34:00 to 27.05.2008 22:43:00

Certificate chain aren't checked for this certificate (error code 65536):
Do you want to use this certificate ([Y]es, [N]o, [C]ancel)?

Certificate chains are checked.
Encrypting the data...
Encrypted message is created.
[ErrorCode: 0x00000000]

Смотрю в файлик test3.txt - мешанина из букв и цифр. Вроде зашифровалось. Теперь в качестве проверки пытаюсь распаковать это в Red-Hat. Для этого с помощью оснастки криптопро в виндах копирую контейнер с сертификатами на дискету. Монтирую под редхатом. Вижу содержимое каталожки "floppy2" - файлы с расширением .key . Пытаюсь скопировать их в контейнер системы :
/usr/CPROcsp/bin/cryptcp -CSPcert -km -cont "\\.\HDIMAGE\floppy2"

Результат -
CryptCP 3.00 (c) "Crypto-Pro", 2002-2003.
Command prompt Utility for data protection.
-CSPcert - Copies certificate from a CSP's key container to specified store.
Openning container...
Error: мЕОПЮБХКЭМШИ ОЮПЮЛЕРП МЮАНПЮ ЙКЧВЕИ. (0x8009001F)
[ErrorCode: 0x8009001f]

По коду ошибки на форуме искал, ничего могущего помочь не нашел.

Что я делаю не правильно ?
 
Ответы:
28.05.2007 17:36:48Marat
Да, собственно "в лоб" выполнить дешифровку с открытым ключём (я знаю что это не правильно, но вдруг) тоже не помогает:
/usr/CPROcsp/bin/cryptcp -decr -f t_test_cpro.cer test1.msg test1.txt
CryptCP 3.00 (c) "Crypto-Pro", 2002-2003.
Command prompt Utility for data protection.
-decr - Decrypts data from a message.

The following certificate will be used:
RDN:Test, RU, lmar@mail.ru
Valid from 27.05.2007 22:34:00 to 27.05.2008 22:43:00

Certificate chain aren't checked for this certificate:
RDN:Test, RU, lmar@mail.ru
Valid from 27.05.2007 22:34:00 to 27.05.2008 22:43:00

Certificate chain aren't checked for this certificate (error code 65536):
Do you want to use this certificate ([Y]es, [N]o, [C]ancel)?

Certificate chains are checked.
Decrypting the data... Error: нАЗЕЙР ХКХ ЯБНИЯРБН МЕ МЮИДЕМН. (0x80092004)
[ErrorCode: 0x80092004]
28.05.2007 19:17:58Василий
Если ключевой контейнер на дискетке, то префикс имени контейнера не такой. HDIMAGE - это только для контейнера на винчестере.

Далее, не факт, что имя контейнера совпадает с именем папки.

Перечислить все доступные контейнеры можно на линуксе так:
csptest -keyset -verifycontext -enum_containers -fqcn

в результате определим имя.

Проверить работоспособность контейнера по имени можно так:
csptest -keyset -check -container имя,
где имя получено на предыдущем шаге.
28.05.2007 23:01:38Marat
Спасибо за быстрый ответ. Вот результаты:

[root@localhost ~]# /usr/CPROcsp/bin/csptest -keyset -verifycontext -enum_containers -fqcn
CSP (Type:71) v3.0.3304 KC2 Release OS:Linux CPU:IA32 FastCode:READY,ENABLED.
CSP (Type:75) v3.0.3304 KC2 Release OS:Linux CPU:IA32 FastCode:READY,ENABLED.
CryptAcquireContext succeeded.HCRYPTPROV: 134664256
OK.
Total:
[ErrorCode: 0x00000000]
[root@localhost ~]#


Что тут является префиксом, если конечно он вообще тут есть ?
29.05.2007 11:49:52Василий
Говорит, что нет ни одного доступного контейнера.
Причина - одна из двух:
1) дискета отсутствует либо неправильно смонтирована (с недостаточными правами)
2) дискета не настроена как считыватель ключей CSP
29.05.2007 13:14:08Marat
Соответственно какие права правильные и как настроить дискету как ключевую ? Вопросы примитивнейшие, но документации не вижу, пользуюсь тем что нашел - "КРИПТО-ПРО Приложение командной строки (версия 3.1x)", там описана вообще только одна команда, в разделе "документация" на сайте есть доки только на 2 версию, в руководстве администратора ответов на вышезаданное не нашел.
30.05.2007 13:11:12Marat
Уважаемые специалисты Крипто Про, проблема всё еще актуальна, помогите решить. Или сообщите что это не возможно, чтобы не терять времени и выбирать другие продукты.
30.05.2007 18:28:10Василий
Дискета должна подключаться как считыватель при установке. Она могла не подключиться, например, в случае, если в тот момент была смонтирована и использовалась другими процессами.

Для управления считывателями служит утилита cpconfig (/usr/CPROcsp/sbin/cpconfig):

При запуске без параметров она расскажет, что умеет.

Просмотреть список считывателей:
/usr/CPROcsp/sbin/cpconfig -hardware reader -view

Пример добавления дисковода как считывателя:
/usr/CPROcsp/sbin/cpconfig -hardware reader -add fat12 -connect 0 -name 'Дисковод #0'
31.05.2007 0:18:47Marat
Вот оно как раз смонтировалось автоматически, но почему его нет в csptest ? Вот вывод cspconfig:
[root@localhost CPROcsp]# /usr/CPROcsp/sbin/cpconfig -hardware reader -view

Nick name: HDIMAGE
Connect name: 0
Reader name: Directory, 0

Nick name: HDIMAGE
Connect name:
Reader name: яРПСЙРСПЮ ДХЯЙЕРШ МЮ ФЕЯРЙНЛ ДХЯЙЕ

Nick name: FAT12
Connect name: 0
Reader name: дХЯЙНБНД #0
[root@localhost CPROcsp]#

Верхний смонтированый хдимидж - это уже мои эксперименты. Но опять же странно - два считывателя вроде-бы как добавлены в систему, но csptest их не видит.
31.05.2007 12:22:30Василий
Такой эксперимент.
Размонтируйте дискету (но не вынимайте её).
И потом выполните:
csptest -keyset -verifycontext -enum_containers -fqcn

По идее, он должен сам её смонтировать и прочитать.
31.05.2007 15:55:05Marat
Выполнил, только такое ощущение что лучше не стало:
[root@localhost CPROcsp]# umount /dev/fd0
[root@localhost CPROcsp]# /usr/CPROcsp/bin/csptest -keyset -verifycontext -enum_containers -fqcn
CSP (Type:71) v3.0.3304 KC2 Release OS:Linux CPU:IA32 FastCode:READY,ENABLED.
CSP (Type:75) v3.0.3304 KC2 Release OS:Linux CPU:IA32 FastCode:READY,ENABLED.
CryptAcquireContext succeeded.HCRYPTPROV: 134664256
\\.\FAT12_0\floppy2
OK.
Total:
[ErrorCode: 0x00000000]

А можно вообще отказаться от дискет отказаться и попробовать каким-то образом использовать контейнер на жестком диске ?
31.05.2007 17:43:32Василий
Как раз лучше стало - он теперь показывает данный контейнер в списке, а раньше его не было.
Стало быть, контейнер доступен.
Теперь нужно с помощью storeman установить сертификат в хранилище My с привязкой к контейнеру - и можно расшифровывать.
Документация на Storeman (Storeman.pdf) входит в состав дистрибутивного диска.
Если у Вас нет этого файла - можете взять отсюда:
http://www.cryptopro.ru/pub/Storeman.pdf