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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline onion  
#1 Оставлено : 21 июня 2013 г. 13:10:34(UTC)
onion

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

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

Работаю под ОС Linux. Ниже изложены все мои "мытарства". Помогите пожалуйста.

1. Я создал запрос сертификата.

Код:
./cryptcp -creatrqst -dn 'E=some@example.com' -provtype 75 -cont 'HDIMAGE\\g104.000' -both -km test.csr
CryptCP 3.40 (c) "Crypto-Pro", 2002-2012.
Command prompt Utility for file signature and encryption.
Request is saved in file.
[ReturnCode: 0]


При этом создалась директория /var/opt/cprocsp/keys/g104.000

Код:
ls /var/opt/cprocsp/keys/g104.000 
header.key  masks2.key  masks.key  primary2.key  primary.key


2. УЦ выслал мне сертификат по запросу. Пробую его установить.


Код:
./certmgr -inst -cert -provtype 75 -file test.cer -store uMy -cont 'HDIMAGE\\g104.000' 
Certmgr 1.0 (c) "CryptoPro",  2007-2010.
program for managing certificates, CRLs and stores

Install:
=============================================================================
1-------
Issuer            : CN=CA-Test-Some
Subject           : C=RU, E=some@example.com
Serial            : 0x70040000000067B50242
SHA1 Hash         : 0x5156bf6a7d13e513a7b0e9a61b9c3ed5a4a176e3
Not valid before  : 20/06/2013  12:23:06 UTC
Not valid after   : 20/06/2014  12:33:06 UTC
PrivateKey Link   : No
=============================================================================
Failed to open container HDIMAGE\\g104.000

[ErrorCode: 0x00000002]


certmgr почему-то не видит контейнер. Пробовал вариант -cont '\\\\.\\HDIMAGE\\g104.000' и -cont '\\.\HDIMAGE\g104.000'
Результаты "Failed to open container \\.\HDIMAGE\g104.000" и "Failed to open container \.HDIMAGEg104.000" соответственно. (Ну последний явно неверный)

Настораживает следующее:

Код:
./csptest -keyset -enum_cont -verifycontext -fqcn -machinekeys                                          
CSP (Type:75) v3.6.5364 KC1 Release Ver:3.6.7491 OS:Linux CPU:AMD64 FastCode:READY:AVX.
AcquireContext: OK. HCRYPTPROV: 31665859
\\.\HDIMAGE\HDIMAGE\\g103.000
\\.\HDIMAGE\HDIMAGE\\g100.000
\\.\HDIMAGE\HDIMAGE\\exp.000
\\.\HDIMAGE\HDIMAGE\\g102.000
\\.\HDIMAGE\HDIMAGE\\g101.000
\\.\HDIMAGE\HDIMAGE\\g104.000
OK.
Total: 
[ErrorCode: 0x00000000]



Почему-то дублируется HDIMAGE в пути. Адрес '\\\\.\\HDIMAGE\\HDIMAGE\\g104.000' так же пробовал. Результат - тот же.

С лицензией - порядок:
Код:
./cpconfig -license -view
Server license:
36360-U0030-01C97-HQ92Y-1EY1K
Expires: 2 month(s) 14 day(s)

Client license:
36360-U0030-01C97-HQ92Y-1EY1K
Expires: 2 month(s) 14 day(s)

Отредактировано пользователем 21 июня 2013 г. 13:12:14(UTC)  | Причина: Не указана

Offline onion  
#2 Оставлено : 25 июня 2013 г. 8:17:06(UTC)
onion

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

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

Проблема решена.
Оказывается, утилита с противоречивым названием "csptest", может создавать контейнеры.

Код:
# Создаём ключевой контейнер:
./csptest -keyset -newkeyset -cont '\\.\HDIMAGE\TestContainer'

# Создаём запрос на сертификат:
./cryptcp -creatrqst  -dn "E=test@test.ru,CN=Ivan,L=Moscow,O=Bank" -nokeygen -both -ku -cont TestContainer cert_request.req

# Устанавливаем, полученный от УЦ сертификат, в указанный ключевой контейнер:
./certmgr -inst -store uMy -file /root/certs/test_cert.cer -cont '\\.\HDIMAGE\TestContainer'


Теперь можно увидеть, что всё в порядке. Только контейнер получился не "-machinekeys":

Код:
./csptest -keyset -enum_cont -verifycontext -fqcn             
CSP (Type:75) v3.6.5364 KC1 Release Ver:3.6.7491 OS:Linux CPU:AMD64 FastCode:READY:AVX.
AcquireContext: OK. HCRYPTPROV: 7712451
\\.\HDIMAGE\TestContainer
OK.
Total: 
[ErrorCode: 0x00000000]


Контейнеры создаются, как и заявлено в документации, в директории /var/opt/cprocsp/keys/<Имя пользователя>/<Контейнер>
Когда, же контейнеры создавались при генерации запроса на сертификат, они почему-то создавались без имени пользователя в пути, т.е. /var/opt/cprocsp/keys/<Контейнер>.

Код:
./certmgr -list
Certmgr 1.0 (c) "CryptoPro",  2007-2010.
program for managing certificates, CRLs and stores

=============================================================================
1-------
Issuer            : CN=CA-Test-Equifax
Subject           : E=test@test.ru,CN=Ivan,L=Moscow,O=Bank
Serial            : 0x72040000000073DAC255
SHA1 Hash         : 0x2fc598bf1ef76c7d04ed52b1a5bb0973d96d2115
Not valid before  : 24/06/2013  08:25:36 UTC
Not valid after   : 24/06/2014  08:35:36 UTC
PrivateKey Link   : Yes. Container  : HDIMAGE\\TestCont.000\7B2A
=============================================================================

[ErrorCode: 0x00000000]


Как видите, получилось связать секретный ключ с сертификатом. ("PrivateKey Link : Yes. Container : HDIMAGE\\TestCont.000\7B2A")
Теперь им можно смело подписывать сообщения.

Отредактировано пользователем 26 августа 2013 г. 15:05:39(UTC)  | Причина: Не указана

Offline cross  
#3 Оставлено : 25 июня 2013 г. 11:16:15(UTC)
Анатолий Беляев

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

Группы: Администраторы, Участники
Зарегистрирован: 24.11.2009(UTC)
Сообщений: 962
Откуда: Crypto-Pro

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 169 раз в 150 постах
Имя контейнера может задаваться в формате \\.\<название считывателя>\<имя контейнера> либо просто <имя контейнера>. Имя считывателя может быть, hdimage, flash, registry ... При этом если в командной строке у вас двойные кавычки то нужно дублировать слеши, если одинарные то не нужно.

Далее вы создали закрытый ключ + запрос на сертификат и имя контейнера указали HDIMAGE\\g104.000. При этом у вас создался ключ в /var/opt/cprocsp/keys а не в папке пользователя так как вы указали опцию -km (ключ machinekeyset). При перечислении контейнеров утилитой csptest она выводит имена в формате \\.\<название считывателя>\<имя контейнера> и честно вывела вам \\.\HDIMAGE\HDIMAGE\\g104.000 (один hdimage в названии считывателя, один в имени контейнера).
Когда вы указывали это имя в certmgr вы использовали '' и не должны были дублировать все слеши. Правильно вот так - '\\.\HDIMAGE\HDIMAGE\\g104.000'.

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