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

Уведомление

Icon
Error

2 Страницы<12
Опции
К последнему сообщению К первому непрочитанному
Offline Dim  
#11 Оставлено : 3 апреля 2009 г. 21:12:34(UTC)
Dim

Статус: Активный участник

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

Поблагодарили: 14 раз в 8 постах
Если подписываю с использованием CAPICOM, то при выполнении AcceptRequest выдает ошибку -2147220990
Если подписываю с использованием CryptSignMessage то при выполнении AcceptRequest выдает ошибку встречено не верное значение тега.

В обоех случаях проверял подпись АРМ РКС. В обоех случаях подпись верна.

Куда рыть дальше подскажите?
Offline Kirill Sobolev  
#12 Оставлено : 6 апреля 2009 г. 15:33:25(UTC)
Кирилл Соболев

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

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

Поблагодарили: 177 раз в 168 постах
Так сложно сказать. Можно взглянуть на оба подписанных запроса, которые передаются в AcceptRequest?
Техническую поддержку оказываем тут
Наша база знаний
Offline Dim  
#13 Оставлено : 6 апреля 2009 г. 15:46:18(UTC)
Dim

Статус: Активный участник

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

Поблагодарили: 14 раз в 8 постах
Сбросил на почту
Offline Kirill Sobolev  
#14 Оставлено : 6 апреля 2009 г. 21:08:20(UTC)
Кирилл Соболев

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

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

Поблагодарили: 177 раз в 168 постах
Разобрались.
Вкратце:
AcceptRequest (и SubmitRequest) предназначен для обновления сертификатов пользователей.
В случае же выпуска первого сертификата для пользователя нужно использовать AcceptFirstRequest (SubmitFirstRequest, CreateCertRequest), что и решило проблему.
Техническую поддержку оказываем тут
Наша база знаний
Offline gippoboy  
#15 Оставлено : 3 марта 2011 г. 22:36:35(UTC)
gippoboy

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

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

Сказал(а) «Спасибо»: 1 раз
Изучил вдоль и поперек Руководство программиста, так и не понял, какими методами ИВП КриптоПро УЦ 1.4 и в какой последовательности сформировать запрос на сертификат для уже зарегистрированного пользователя от имени администратора, а не самого пользователя?
Offline Kirill Sobolev  
#16 Оставлено : 4 марта 2011 г. 15:44:27(UTC)
Кирилл Соболев

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

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

Поблагодарили: 177 раз в 168 постах
Цитата:
от имени администратора

SubmitFirstRequest - отправить на сервер
AcceptFirstRequest - принять
Техническую поддержку оказываем тут
Наша база знаний
Offline gippoboy  
#17 Оставлено : 5 марта 2011 г. 8:49:49(UTC)
gippoboy

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

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

Сказал(а) «Спасибо»: 1 раз
Спасибо. Вопрос по методу SubmitFirstRequest:
Где для этого метода взять первый параметр RegRequestID?
Offline Kirill Sobolev  
#18 Оставлено : 5 марта 2011 г. 13:25:13(UTC)
Кирилл Соболев

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

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

Поблагодарили: 177 раз в 168 постах
Вы создаете сертификат для какого-то пользователя ЦР. У этого пользователя есть, по крайней мере, запрос на регистрацию. Вот RegRequestID как раз идентификатор этого запроса в БД ЦР.
Техническую поддержку оказываем тут
Наша база знаний
Offline gippoboy  
#19 Оставлено : 7 марта 2011 г. 6:37:18(UTC)
gippoboy

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

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

Сказал(а) «Спасибо»: 1 раз
У меня задача следующая:
По электронной почте поступает самоподписанный запрос PKCS#10 на изготовление пользователю сертификата, подписанный доверенным лицом и упакованный в файл - контейнер PKCS#7.
Необходимо:
1. убедиться, что запрос подписан доверенным лицом и подпись верна;
с помощью интерфейса внешних приложений (ИВП) центра регистрации КриптоПро УЦ:
2. если пользователь, указанный в PKCS#10 еще не зарегистрирован на центром регистрации, то зарегистрировать его;
3. изготовить сертификат по запросу PKCS#10

Насколько понял, Вы предлагаете воспользоваться методом GetRegRequestsListMtoN, чтобы найти определенного пользователя по фильтру "Subject" и получить RegRequestID пользователя из результата этого метода. Возникает только трудность получения значения "Subject" из PKCS#10, я это делать не умею.

Но мне посчастливилось обнаружить недокументированное свойство метода ObjCertRequest.SubmitFirstCertRequest (RegRequestID, Request, Unused, AdditionalInfo) интерфейса внешних приложений центра регистрации КриптоПро УЦ:
Если в качестве первого параметра RegRequestID задать пустую строку, то будет произведен поиск в базе центра регистрации по информации, содержащейся в запросе. Если пользователь найден, запрос на сертификат ставится в очередь, иначе выдается ошибка №-2147220990 (0x80040202);
Unused - обязательно должен иметь логическое значение (True или Fals), иначе выдастся ошибка несоответствия типов.

Таким образом, решение свелось к следующей последовательности:
1. проверить подпись доверенного лица в PKCS#7;
2. получить PKCS#10 из PKCS#7;
3. вызвать метод RequestID=ObjCertRequest.SubmitFirstCertRequest ("", RequestPKCS#10, "", "")
4. в случае ошибки №-2147220990 зарегистрировать пользователя:
RegRequestID = ObjRegistration.CreateRequestByAdmin (RequestPKCS#10, "", "", "")
ObjRegistration.AcceptRequest RequestID
RequestID=ObjCertRequest.SubmitFirstCertRequest ("", RequestPKCS#10, "", "")
5. сформировать RequestPKCS#7 - одобрение запроса, подписав PKCS#10
6. одобрить выпуск сертификата методом ObjCertRequest.AcceptFirstRequest RequestID, RequestPKCS#7
7. получить выпущенный сертификат методом ObjCertRequest.GetCertificateInfo (RequestID)

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