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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline sgeorge  
#1 Оставлено : 19 ноября 2014 г. 23:10:29(UTC)
sgeorge

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

Группы: Участники
Зарегистрирован: 19.11.2014(UTC)
Сообщений: 6

Сказал(а) «Спасибо»: 1 раз
Здравствуйте.

Пытаюсь настроить B2B механизм в НБКИ. ОС - Debian 7.7 x86. КриптоПро CSP 3.9.

Для этого скачал у них тестовые сертификаты - один корневой доверенный, второй - личный
(предоставляются НБКИ).
В архиве также идет утилита fdimage для создания дискеты, однако мне нужно установить сертификаты на сервер в датацентре без доступа к серверу - т.е. я так понимаю на HDIMAGE.

Делаю следующее:
1. Создаю тестовый контейнер (без пароля)
Цитата:
./csptest -keyset -newkeyset -cont '\\.\HDIMAGE\nbki'
CSP (Type:75) v3.9.8000 KC1 Release Ver:3.9.8171 OS:Linux CPU:IA32 FastCode:READY:SSSE3.
AcquireContext: OK. HCRYPTPROV: 163429387
GetProvParam(PP_NAME): Crypto-Pro GOST R 34.10-2001 KC1 CSP
Container name: "nbki"
Signature key is not available.
Attempting to create a signature key...
CryptoPro CSP: Set password on produced container "nbki".
Password:
Retype password:
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]


2. Пытаюсь установить в него личный сертификат (от НБКИ) и получаю ошибку
Цитата:
/opt/cprocsp/bin/ia32$ ./certmgr -inst -store uMy -file /var/opt/cprocsp/keys/testbank1415.cer -cont '\\.\HDIMAGE\nbki'
Certmgr 1.0 (c) "CryptoPro", 2007-2010.
program for managing certificates, CRLs and stores

Install:
=============================================================================
1-------
Issuer : OGRN=1037700085444, INN=007717107991, STREET="ул. Сущёвский вал, д. 18", S=77 г. Москва, L=Москва, E=info@cryptopro.ru, C=RU, O="ООО ""КРИПТО-ПРО""", CN="Тестовый УЦ ООО ""КРИПТО-ПРО"""
Subject : E=support@nbki.ru, C=RU, S=Регион, L=Город, O=ОАО Тестбанк, OU=0101BB, CN=Тестовый НБКИ - 2014-15
Serial : 0x61B33B2D00030002A2A9
SHA1 Hash : 0x47f0891ef1fb85aa7bb40f97ccfcfbb3a118e749
Not valid before : 02/10/2014 13:01:00 UTC
Not valid after : 02/01/2016 13:11:00 UTC
PrivateKey Link : No
=============================================================================
Can not install certificate
Public keys in certificate and container are not identical

[ErrorCode: 0x8010002c]


Однако без указания контейнера сертификат устанавливается
Цитата:
/opt/cprocsp/bin/ia32$ ./certmgr -inst -store uMy -file /var/opt/cprocsp/keys/testbank1415.cer
Certmgr 1.0 (c) "CryptoPro", 2007-2010.
program for managing certificates, CRLs and stores

Install:
=============================================================================
1-------
Issuer : OGRN=1037700085444, INN=007717107991, STREET="ул. Сущёвский вал, д. 18", S=77 г. Москва, L=Москва, E=info@cryptopro.ru, C=RU, O="ООО ""КРИПТО-ПРО""", CN="Тестовый УЦ ООО ""КРИПТО-ПРО"""
Subject : E=support@nbki.ru, C=RU, S=Регион, L=Город, O=ОАО Тестбанк, OU=0101BB, CN=Тестовый НБКИ - 2014-15
Serial : 0x61B33B2D00030002A2A9
SHA1 Hash : 0x47f0891ef1fb85aa7bb40f97ccfcfbb3a118e749
Not valid before : 02/10/2014 13:01:00 UTC
Not valid after : 02/01/2016 13:11:00 UTC
PrivateKey Link : No
=============================================================================

[ErrorCode: 0x00000000]


Команда csptest выдает следующее
Цитата:
./csptest -keyset -enum_cont -fqcn -verifyc
CSP (Type:75) v3.9.8000 KC1 Release Ver:3.9.8171 OS:Linux CPU:IA32 FastCode:READY:SSSE3.
AcquireContext: OK. HCRYPTPROV: 149253131
\\.\HDIMAGE\nbki
OK.
Total:
[ErrorCode: 0x00000000]


А также
Цитата:
./certmgr -list -store uMy
Certmgr 1.0 (c) "CryptoPro", 2007-2010.
program for managing certificates, CRLs and stores

=============================================================================
1-------
Issuer : OGRN=1037700085444, INN=007717107991, STREET="ул. Сущёвский вал, д. 18", S=77 г. Москва, L=Москва, E=info@cryptopro.ru, C=RU, O="ООО ""КРИПТО-ПРО""", CN="Тестовый УЦ ООО ""КРИПТО-ПРО"""
Subject : E=support@nbki.ru, C=RU, S=Регион, L=Город, O=ОАО Тестбанк, OU=0101BB, CN=Тестовый НБКИ - 2014-15
Serial : 0x61B33B2D00030002A2A9
SHA1 Hash : 0x47f0891ef1fb85aa7bb40f97ccfcfbb3a118e749
Not valid before : 02/10/2014 13:01:00 UTC
Not valid after : 02/01/2016 13:11:00 UTC
PrivateKey Link : No
=============================================================================

[ErrorCode: 0x00000000]


Подскажите, пожалуйста, почему мне 1) выдается ошибка при указании контейнера и 2) как мне побороть PrivateKey Link : No?

Спасибо.
Offline sgeorge  
#2 Оставлено : 20 ноября 2014 г. 2:56:28(UTC)
sgeorge

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

Группы: Участники
Зарегистрирован: 19.11.2014(UTC)
Сообщений: 6

Сказал(а) «Спасибо»: 1 раз
Частично разобрался.

Оказывается надо было файл с расширением img из архива с тестовыми сертификатами поднять как образ дисковода - в ubunte у меня просто открыть из nautilus. Там оказались файлы с расширениями key, которые я благополучно скопировал в каталог /var/opt/cprocsp/keys/имя_пользователя повторно попытался выполнить
./certmgr -inst -store uMy -file /var/opt/cprocsp/keys/testbank1415.cer -cont '\\.\HDIMAGE\nbki'

все сработало, и даже PrivateKey теперь не No.

Однако при попытке установить сертификат с расширением p7b как корневой опять ругается при указании контейнера
/opt/cprocsp/bin/ia32/certmgr -inst -store uRoot -file /var/opt/cprocsp/keys/testcenter14.p7b -cont '\\.\HDIMAGE\TEST1415'Certmgr 1.0 (c) "CryptoPro", 2007-2010.
program for managing certificates, CRLs and stores

Install:
=============================================================================
1-------
Issuer : OGRN=1037700085444, INN=007717107991, STREET="ул. Сущёвский вал, д. 18", S=77 г. Москва, L=Москва, E=info@cryptopro.ru, C=RU, O="ООО ""КРИПТО-ПРО""", CN="Тестовый УЦ ООО ""КРИПТО-ПРО"""
Subject : OGRN=1037700085444, INN=007717107991, STREET="ул. Сущёвский вал, д. 18", S=77 г. Москва, L=Москва, E=info@cryptopro.ru, C=RU, O="ООО ""КРИПТО-ПРО""", CN="Тестовый УЦ ООО ""КРИПТО-ПРО"""
Serial : 0x4487DA574993609E4876F6827344FF17
SHA1 Hash : 0x6c31549b7db07a8e41973dc3fc39674d691d19a2
Not valid before : 04/09/2014 09:13:56 UTC
Not valid after : 02/03/2020 04:21:22 UTC
PrivateKey Link : No
=============================================================================
Can not install certificate
Public keys in certificate and container are not identical

[ErrorCode: 0x8010002c]


А без контейнера - устанавливается только из под root.

Подскажите, что я делаю не так?

Спасибо.
Offline Максим Коллегин  
#3 Оставлено : 20 ноября 2014 г. 6:02:23(UTC)
Максим Коллегин

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

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,405
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 37 раз
Поблагодарили: 720 раз в 624 постах
Вы делаете что-то странное. Не нужно устанавливать сертификат центра в контейнер - он должен быть только в хранилище ROOT. И конечно же у Вас нет секретного ключа - он есть только в УЦ.
Знания в базе знаний, поддержка в центре поддержки
Offline sgeorge  
#4 Оставлено : 20 ноября 2014 г. 11:08:50(UTC)
sgeorge

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

Группы: Участники
Зарегистрирован: 19.11.2014(UTC)
Сообщений: 6

Сказал(а) «Спасибо»: 1 раз
Спасибо за подсказку. Я стараюсь разобраться с установкой сертификатов, т.е. только учусь.

Подскажите, пожалуйста, контейнер - только для личных сертификатов?

Спасибо.
Offline Максим Коллегин  
#5 Оставлено : 20 ноября 2014 г. 12:23:01(UTC)
Максим Коллегин

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

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,405
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 37 раз
Поблагодарили: 720 раз в 624 постах
да
Знания в базе знаний, поддержка в центре поддержки
thanks 1 пользователь поблагодарил Максим Коллегин за этот пост.
sgeorge оставлено 21.11.2014(UTC)
Offline sgeorge  
#6 Оставлено : 20 ноября 2014 г. 17:50:35(UTC)
sgeorge

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

Группы: Участники
Зарегистрирован: 19.11.2014(UTC)
Сообщений: 6

Сказал(а) «Спасибо»: 1 раз
Спасибо за уточнение.

Еще небольшой вопрос: можно ли проверить правильность установки и настройки сертификатов из под Debian из командной строки, обратившись к сайту? Например, с помощью утилиты csptest?

Если есть описание в документации - ткните меня в документ, я сам не нашел. Спасибо.
Offline sgeorge  
#7 Оставлено : 20 ноября 2014 г. 20:49:40(UTC)
sgeorge

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

Группы: Участники
Зарегистрирован: 19.11.2014(UTC)
Сообщений: 6

Сказал(а) «Спасибо»: 1 раз
Вопрос в предыдущем посте снят (про проверку из командной строки).
Сейчас возникла другая, но тут уже дело в НБКИ. Локально у меня шифрует/дешифрует идеально.

Цитата:
/opt/cprocsp/bin/ia32/cryptcp -decr -dn "support@nbki.ru" -start response.xml.p7s response.xml
CryptCP 3.41 (c) "КРИПТО-ПРО", 2002-2013.
Утилита командной строки для подписи и шифрования файлов.

Будет использован следующий сертификат:
Субъект:Тестовый НБКИ - 2014-15, 0101BB, ОАО Тестбанк, Город, Регион, RU, support@nbki.ru
Действителен с 02.10.2014 13:01:00 по 02.01.2016 13:11:00

Цепочки сертификатов проверены.
Расшифрование данных...
Ошибка: Invalid cryptographic message type.
/dailybuildsbranches/CSP_3_9/CSPbuild/CSP/samples/CPCrypt/Encr.cpp:686: 0x80091004
[ErrorCode: 0x80091004]


Спасибо за помощь!
Offline Максим Коллегин  
#8 Оставлено : 21 ноября 2014 г. 0:00:19(UTC)
Максим Коллегин

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

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,405
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 37 раз
Поблагодарили: 720 раз в 624 постах
а на windows расшифуется?
Знания в базе знаний, поддержка в центре поддержки
Offline sgeorge  
#9 Оставлено : 21 ноября 2014 г. 1:59:26(UTC)
sgeorge

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

Группы: Участники
Зарегистрирован: 19.11.2014(UTC)
Сообщений: 6

Сказал(а) «Спасибо»: 1 раз
Завтра попробую на виртуалке (нет другой windows, к сожалению). Думаю, "протащенная" в гостевую флешка с ключами, определится как носитель.

Чуть подробнее хочу остановиться на том, почему я пришел к выводу, что проблема не в шифровании (т.е. не в КриптоПро), а в неправильной кодировке ответа (xml) получаемой от сервера.

Когда вылезла вышеупомянутая мной ошибка Invalid Cryptographic message type я стал смотреть в лог auth и увидел массу сообщений от неудачных ретраев обратиться к libpcsclite.so. Ошибка пропала после симлинка на /usr/lib/i386-linux-gnu/libpcsclite.so.1.0.0 из /usr/lib. Потом вылезла еще одна ошибка из-за доступа к ini файлу в каталоге /opt/cprocsp.../users (вроде такой путь - сейчас пишу с другой машины - не могу уточнить) - поправил права.

И осталась только одна Invalid Cryptographic message type на конкретную функцию. Погуглив имя функции и ошибку - у большинства такое происходит из-за неправильной кодировки, если работают с веб.

Передаю я xml в тестовый сервлет НБКИ в windows-1251 (строго), а сохраняю полученный ответ от сервера не очень правильным способом: curl .... > response.xml.p7s. Ответ возвращается в windows-1251, как сказано в мануале НБКИ а в какой кодировке сохраняет его баш - пока не разобрался. Вот есть подозрение, что направлять в файл поток ввода вывода - это категорически криво. Завтра буду разбираться и проверять, в частности на windows.

Спасибо за рекомендацию.

P.S. Нашел у вас на сайте ссылку, где проверяется правильность эцп и расшифровывается файл. Так вот - эцп на моем response.xml.p7s с личным сертификатом подтверждается без ошибок, а вот расшифрованный файл обрывается за 2-3 строки до конца (у меня он расшифровывается полностью, но с упомянутой ошибкой).
Offline Максим Коллегин  
#10 Оставлено : 21 ноября 2014 г. 10:08:13(UTC)
Максим Коллегин

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

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,405
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 37 раз
Поблагодарили: 720 раз в 624 постах
Файлы нужно сохранять как бинарные, либо они в base64 - кодировка не должна влиять.
Знания в базе знаний, поддержка в центре поддержки
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.