Форум КриптоПро
»
Устаревшие продукты
»
КриптоПро УЦ 1.4
»
ASN1 bad tag value met при вызове SubmitRequest
Статус: Активный участник
Группы: Участники
Зарегистрирован: 19.02.2008(UTC) Сообщений: 66 Откуда: Москва
|
Вызываю через SOAP метод SubmitRequest. Другие методы работают, этот возвращает: Ошибка: ASN1 bad tag value met.
Если тот же запрос вставлять в поле открытого в браузере WEB-интерфейса (путь https://<Сервер>/certsrv/), то запрос проходит успешно. Сертификат можно скачать.
Пример запроса: MIIB3TCCAYoCAQAwge0xGTAXBgkqhkiG9w0BCQETCmluZ0BpbmcucnUxCzAJBgNVBAYTAlJVMQswCQYDVQQIEwJSVTEPMA0GA1UEBxMGTW9zY293MT8wPQYDVQQKHjYEIQQ6BDAEOwQwACAAKAQhBB0EEwApACAEGwQ4BDwEOARCBDUENAAgACgEGgQYBB8EIAApAAAxPzA9BgNVBAseNgQhBDoEMAQ7BDAAIAAoBCEEHQQTACkAIAQbBDgEPAQ4BEIENQQ0ACAAKAQaBBgEHwQgACkAADEjMCEGA1UEAx4aBC4ENAQwBDkEOgQ4BD0AIAQSAC4EFQAuAAAwYzAcBgYqhQMCAhMwEgYHKoUDAgIkAAYHKoUDAgIeAQNDAARAUKb2ibucnfCDUeZBSa90dWzYqLpsA4r4faZdP+urKpB6Vt60YMMBxup4xqK15d2JtrMpZYNMwuXBxRb1rjZ8GqAwMC4GCisGAQQBgjcCAQ4xIDAeMBwGA1UdJQQVMBMGByqFAwICIgIGCCsGAQUFBwMCMAoGBiqFAwICAwUAA0EAmrRomaq2OXJdonWVsnNX3XyQ4XAOUSTbNjto0wsmT/AVaApPk/JckCqOCpuK+net3/uLtesTJR2GEVLl74WSKA
Возможно, надо что-то другое вызывать, не метод SubmitRequest. Прошу это проверить. Мне надо на клиенте по готовым запросам сертификата получать готовые подписанные сертификаты, отправляя данные на удаленный ЦР.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 25.12.2007(UTC) Сообщений: 1,733  Откуда: КРИПТО-ПРО Поблагодарили: 177 раз в 168 постах
|
Метод SubmitRequest принимает запросы вида PKCS7(PKCS10). |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 19.02.2008(UTC) Сообщений: 66 Откуда: Москва
|
В "Руководстве программиста" написано "PKCS#7 Base64 encoded". Разве представленный мной запрос не в должной форме? Прошу ответить развернуто.
Еще, я не понимаю, как соотносятся запросы сертификатов с пользователями. Например, чтобы выпустить сертификат, пользователь уже должен существовать (быть создан раньше), так? То есть последовательность такая: создается пользователь, создается запрос на первый сертификат, загружается полученный сертификат, используется. При приближении окончания срока действия сертификата, требуется дополнительное обращение для получения нового сертификата на основе текущего. Это расходится с логикой моего приложения, суть которого является по готовым запросам (пример запроса выше) получать готовые же сертификаты.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 25.12.2007(UTC) Сообщений: 1,733  Откуда: КРИПТО-ПРО Поблагодарили: 177 раз в 168 постах
|
В "Руководстве программиста" все правильно написано - нужен PKCS#7, внутри которого уже собственно лежит запрос PKCS#10. А в Вашем примере запрос просто в PKCS#10, поэтому метод SubmitRequest и выдает ошибку - он работает только с подписанными запросами на сертификат. С неподписанными запросами работает метод ИВП SubmitFirstCertRequest. Цитата: Например, чтобы выпустить сертификат, пользователь уже должен существовать (быть создан раньше), так? То есть последовательность такая: создается пользователь, создается запрос на первый сертификат, загружается полученный сертификат, используется. При приближении окончания срока действия сертификата, требуется дополнительное обращение для получения нового сертификата на основе текущего.
Совершенно верно. Хотя сертификат можно сделать и не на основе текущего - опять же используя метод SubmitFirstCertRequest. |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 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 от текущего пользователя.
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 19.02.2008(UTC) Сообщений: 66 Откуда: Москва
|
Хм...
В описании для VB у SubmitFirstCertRequest 3 параметр - как раз необходимый CreateCertForExistingUser. В описании для Си и далее - BOOL Unused :)
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 25.12.2007(UTC) Сообщений: 1,733  Откуда: КРИПТО-ПРО Поблагодарили: 177 раз в 168 постах
|
Цитата:А какие функции CryptoAPI в этом участвуют? Если ли пример или план действий по кодированию PKCS#10 еще и в PKCS#7? Те функции, при помощи которых осуществляется подпись. Можно также воспользоваться не CryptoAPI, а классом CAPICOM SignedData. Цитата:Не будет ли при этом увеличиваться количество пользователей с одинаковыми именами не будет. Цитата:В описании для VB у SubmitFirstCertRequest 3 параметр - как раз необходимый CreateCertForExistingUser. в описании для VB неточность, этот параметр действительно не используется. |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 19.02.2008(UTC) Сообщений: 66 Откуда: Москва
|
Отлично! Значит вместо создания пользователя, создания запроса, а также повторного выпуска сертификата по истечению срока, можно использовать только SubmitFirstCertRequest, передавая запрос.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 25.12.2007(UTC) Сообщений: 1,733  Откуда: КРИПТО-ПРО Поблагодарили: 177 раз в 168 постах
|
Нет. Пользователя надо создавать отдельно, запрос надо создавать отдельно. Но вместо повторногов выпуска действительно можно использовать SubmitFirstCertRequest. |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 19.02.2008(UTC) Сообщений: 66 Откуда: Москва
|
А есть кикие-либо условия на данные пользователя и выпускаемый ему сертификат? Я имею ввиду, можно ли создавать пользователя с одними данными, а запрос на сертификат давать с другими. Или же надо следить за данными?
|
|
|
|
Форум КриптоПро
»
Устаревшие продукты
»
КриптоПро УЦ 1.4
»
ASN1 bad tag value met при вызове SubmitRequest
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close