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

Уведомление

Icon
Error

2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline Maxim Korobov  
#1 Оставлено : 29 марта 2008 г. 17:41:03(UTC)
Maxim Korobov

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

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

Вызываю через SOAP метод SubmitRequest. Другие методы работают, этот возвращает:
Ошибка: ASN1 bad tag value met.

Если тот же запрос вставлять в поле открытого в браузере WEB-интерфейса (путь https://<Сервер>/certsrv/), то запрос проходит успешно. Сертификат можно скачать.

Пример запроса:
MIIB3TCCAYoCAQAwge0xGTAXBgkqhkiG9w0BCQETCmluZ0BpbmcucnUxCzAJBgNVBAYTAlJVMQswCQYDVQQIEwJSVTEPMA0GA1UEBxMGTW9zY293MT8wPQYDVQQKHjYEIQQ6BDAEOwQwACAAKAQhBB0EEwApACAEGwQ4BDwEOARCBDUENAAgACgEGgQYBB8EIAApAAAxPzA9BgNVBAseNgQhBDoEMAQ7BDAAIAAoBCEEHQQTACkAIAQbBDgEPAQ4BEIENQQ0ACAAKAQaBBgEHwQgACkAADEjMCEGA1UEAx4aBC4ENAQwBDkEOgQ4BD0AIAQSAC4EFQAuAAAwYzAcBgYqhQMCAhMwEgYHKoUDAgIkAAYHKoUDAgIeAQNDAARAUKb2ibucnfCDUeZBSa90dWzYqLpsA4r4faZdP+urKpB6Vt60YMMBxup4xqK15d2JtrMpZYNMwuXBxRb1rjZ8GqAwMC4GCisGAQQBgjcCAQ4xIDAeMBwGA1UdJQQVMBMGByqFAwICIgIGCCsGAQUFBwMCMAoGBiqFAwICAwUAA0EAmrRomaq2OXJdonWVsnNX3XyQ4XAOUSTbNjto0wsmT/AVaApPk/JckCqOCpuK+net3/uLtesTJR2GEVLl74WSKA


Возможно, надо что-то другое вызывать, не метод SubmitRequest. Прошу это проверить. Мне надо на клиенте по готовым запросам сертификата получать готовые подписанные сертификаты, отправляя данные на удаленный ЦР.
Offline Kirill Sobolev  
#2 Оставлено : 31 марта 2008 г. 17:27:02(UTC)
Кирилл Соболев

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

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

Поблагодарили: 177 раз в 168 постах
Метод SubmitRequest принимает запросы вида PKCS7(PKCS10).
Техническую поддержку оказываем тут
Наша база знаний
Offline Maxim Korobov  
#3 Оставлено : 1 апреля 2008 г. 20:18:29(UTC)
Maxim Korobov

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

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

В "Руководстве программиста" написано "PKCS#7 Base64 encoded". Разве представленный мной запрос не в должной форме?
Прошу ответить развернуто.

Еще, я не понимаю, как соотносятся запросы сертификатов с пользователями. Например, чтобы выпустить сертификат, пользователь уже должен существовать (быть создан раньше), так? То есть последовательность такая: создается пользователь, создается запрос на первый сертификат, загружается полученный сертификат, используется. При приближении окончания срока действия сертификата, требуется дополнительное обращение для получения нового сертификата на основе текущего.
Это расходится с логикой моего приложения, суть которого является по готовым запросам (пример запроса выше) получать готовые же сертификаты.
Offline Kirill Sobolev  
#4 Оставлено : 1 апреля 2008 г. 22:09:18(UTC)
Кирилл Соболев

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

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

Поблагодарили: 177 раз в 168 постах
В "Руководстве программиста" все правильно написано - нужен PKCS#7, внутри которого уже собственно лежит запрос PKCS#10.
А в Вашем примере запрос просто в PKCS#10, поэтому метод SubmitRequest и выдает ошибку - он работает только с подписанными запросами на сертификат.
С неподписанными запросами работает метод ИВП SubmitFirstCertRequest.
Цитата:

Например, чтобы выпустить сертификат, пользователь уже должен существовать (быть создан раньше), так? То есть последовательность такая:
создается пользователь, создается запрос на первый сертификат, загружается полученный сертификат, используется. При приближении окончания
срока действия сертификата, требуется дополнительное обращение для получения нового сертификата на основе текущего.

Совершенно верно. Хотя сертификат можно сделать и не на основе текущего - опять же используя метод SubmitFirstCertRequest.
Техническую поддержку оказываем тут
Наша база знаний
Offline Maxim Korobov  
#5 Оставлено : 1 апреля 2008 г. 22:37:17(UTC)
Maxim Korobov

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

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

Kirill Sobolev написал:
В "Руководстве программиста" все правильно написано - нужен PKCS#7, внутри которого уже собственно лежит запрос PKCS#10.
А в Вашем примере запрос просто в PKCS#10, поэтому метод SubmitRequest и выдает ошибку - он работает только с подписанными запросами на сертификат.
С неподписанными запросами работает метод ИВП SubmitFirstCertRequest.


А какие функции CryptoAPI в этом участвуют? Если ли пример или план действий по кодированию PKCS#10 еще и в PKCS#7?

Kirill Sobolev написал:

Совершенно верно. Хотя сертификат можно сделать и не на основе текущего - опять же используя метод SubmitFirstCertRequest.


Текущий пользователь, как я понимаю, это зарегистрированный пользователь, на основе сертификата которого вызываются методы.

Важно! Не будет ли при этом увеличиваться количество пользователей с одинаковыми именами, но разными сертификатами, пропорционально времени действию 1 сертификата?
Если нет, тогда дело в шляпе - вызывать SubmitFirstCertRequest от текущего пользователя.
Offline Maxim Korobov  
#6 Оставлено : 1 апреля 2008 г. 22:43:14(UTC)
Maxim Korobov

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

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

Хм...

В описании для VB у SubmitFirstCertRequest 3 параметр - как раз необходимый CreateCertForExistingUser.
В описании для Си и далее - BOOL Unused :)
Offline Kirill Sobolev  
#7 Оставлено : 2 апреля 2008 г. 15:49:38(UTC)
Кирилл Соболев

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

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

Поблагодарили: 177 раз в 168 постах
Цитата:
А какие функции CryptoAPI в этом участвуют? Если ли пример или план действий по кодированию PKCS#10 еще и в PKCS#7?

Те функции, при помощи которых осуществляется подпись. Можно также воспользоваться не CryptoAPI, а классом CAPICOM SignedData.
Цитата:
Не будет ли при этом увеличиваться количество пользователей с одинаковыми именами

не будет.
Цитата:
В описании для VB у SubmitFirstCertRequest 3 параметр - как раз необходимый CreateCertForExistingUser.

в описании для VB неточность, этот параметр действительно не используется.
Техническую поддержку оказываем тут
Наша база знаний
Offline Maxim Korobov  
#8 Оставлено : 2 апреля 2008 г. 16:58:05(UTC)
Maxim Korobov

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

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

Отлично!
Значит вместо создания пользователя, создания запроса, а также повторного выпуска сертификата по истечению срока, можно использовать только SubmitFirstCertRequest, передавая запрос.
Offline Kirill Sobolev  
#9 Оставлено : 2 апреля 2008 г. 17:48:17(UTC)
Кирилл Соболев

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

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

Поблагодарили: 177 раз в 168 постах
Нет.
Пользователя надо создавать отдельно, запрос надо создавать отдельно. Но вместо повторногов выпуска действительно можно использовать SubmitFirstCertRequest.
Техническую поддержку оказываем тут
Наша база знаний
Offline Maxim Korobov  
#10 Оставлено : 3 апреля 2008 г. 16:06:07(UTC)
Maxim Korobov

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

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

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