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

Уведомление

Icon
Error

2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline SuslegStyle  
#1 Оставлено : 16 ноября 2012 г. 16:39:44(UTC)
SuslegStyle

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

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

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

После принятия неподписанного запроса на регистрацию пользователя отправил запрос на сертификат. Запрос принял в арме.
Далее, хочу узнать его состояние.
Код:

Сonst RA_CERTREQ_PROGID03 = "RegistrationCenter.CertRequest"
    On Error Resume Next
    Dim ReqID
	
    ReqID = Request("ReqID")
	Response.Clear
	
    If Len(ReqID) <> 0 Then

		Dim objReq: Set objReq = Server.CreateObject(RA_CERTREQ_PROGID03)
		Dim ReqStatus: ReqStatus=objReq.GetRequestInfo (ReqID)

Но после вызова GetRequestInfo в ReqStatus пусто, а в Err.Number лежит -2147221001 (0x800401F7).
Возможно, эта ошибка означает "клиентский сертификат не был предоставлен". (Поиск по форуму дал тему, где встречался такой же код ошибки).
Но поскольку это запрос на первый сертификат, то мне еще нечего предоставить в качестве клиентского сертификата.
Offline Kirill Sobolev  
#2 Оставлено : 16 ноября 2012 г. 18:21:15(UTC)
Кирилл Соболев

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

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

Поблагодарили: 177 раз в 168 постах
Цитата:
Но поскольку это запрос на первый сертификат, то мне еще нечего предоставить в качестве клиентского сертификата.

Отправляли значит через маркер временного доступа? Вот его и предоставляйте для получения информации, по аналогии с веб-интерфейсом КриптоПро УЦ.
Техническую поддержку оказываем тут
Наша база знаний
Offline SuslegStyle  
#3 Оставлено : 22 ноября 2012 г. 16:33:02(UTC)
SuslegStyle

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

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

Сказал(а) «Спасибо»: 2 раз
Передаю маркер временного доступа. Пробовал создавать объект "WebReg.Utils". Он успешно создается, выдает информацию в RegReqs. Но GetRequestInfo по-прежнему выдает ошибку. Вот мой код.

Код:

    Const RA_CERTREQ_PROGID03 = "RegistrationCenter.CertRequest"
    On Error Resume Next
    Dim ReqID
	Dim TokenID, Password
	Response.Clear

	TokenID = Request("TokenID")
	Password = Request("Password")

	If (Len(TokenID) <> 0) and (Len(Password) <> 0 ) Then
		Dim RegReqs
		Dim CertReqs
		Set oUtils = Server.CreateObject("WebReg.Utils")
		' Здесь осуществится проверка маркера доступа.
		oUtils.GetRequestsByToken RegReqs, CertReqs
		
		ReqID = Request("ReqID")
	
		If Len(ReqID) <> 0 Then

			Dim objReq: Set objReq = Server.CreateObject(RA_CERTREQ_PROGID03)
			Dim ReqStatus: ReqStatus=objReq.GetRequestInfo (ReqID)
		
			If Err.Number = 0 Then
				Response.Write "Status" & ReqStatus
			else
				Response.Write "BadService"
				Response.Write Err.Number
			End if
		else
			Response.Write "BadID"
		End if		
	End if
	Response.End 		
Offline Kirill Sobolev  
#4 Оставлено : 23 ноября 2012 г. 16:42:51(UTC)
Кирилл Соболев

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

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

Поблагодарили: 177 раз в 168 постах
Цитата:
GetRequestInfo по-прежнему выдает ошибку

GetRequestInfo (как и весь ИВП) работает только при двухсторонней аутентификации.
Все информация о запросах на сертификат лежит в CertReqs.
Техническую поддержку оказываем тут
Наша база знаний
Offline SuslegStyle  
#5 Оставлено : 26 ноября 2012 г. 17:17:26(UTC)
SuslegStyle

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

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

Сказал(а) «Спасибо»: 2 раз
Спасибо, да, получил информацию. Но там не все есть, что нужно.
Дополнительно необходимо получить сам сертификат и его идентификатор.
а после работы этой функции в поле PKCS лежит запрос на сертификат, судя по документации. и нет идентификатора сертификата.

Раньше сертификат и его новый идентификатор я получал через вызов метода GetCertificateInfo объекта RegistrationCenter.CertRequest. Но тут такое не проходит, все по той же причине, как вы сказали, необходимость двухсторонней аутентификации.
Offline Kirill Sobolev  
#6 Оставлено : 26 ноября 2012 г. 17:29:31(UTC)
Кирилл Соболев

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

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

Поблагодарили: 177 раз в 168 постах
Там есть идентификатор запроса, а в RegInstallCert.asp есть пример, как по нему получить сертификат.
Техническую поддержку оказываем тут
Наша база знаний
Offline SuslegStyle  
#7 Оставлено : 27 ноября 2012 г. 12:24:09(UTC)
SuslegStyle

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

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

Сказал(а) «Спасибо»: 2 раз
Спасибо. Получить сертификат получилось.
А как узнать его идентификатор, CertificateID?
И еше хотел спросить, где можно почитать про описание функций объектов "WebReg.RegMan", "WebReg.CertMan", "WebReg.Utils", а то в руководстве программиста только про ИВП.
Offline Kirill Sobolev  
#8 Оставлено : 27 ноября 2012 г. 15:40:09(UTC)
Кирилл Соболев

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

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

Поблагодарили: 177 раз в 168 постах
Цитата:
А как узнать его идентификатор, CertificateID?

Более простого способа чем перебором через GetCertificatesListMtoN наверное нет.
Цитата:
И еше хотел спросить, где можно почитать про описание функций объектов "WebReg.RegMan", "WebReg.CertMan", "WebReg.Utils", а то в руководстве программиста только про ИВП.

Нигде, это недокументированные функции и не предназначены для встраивания в сторонние приложения.
Техническую поддержку оказываем тут
Наша база знаний
Offline SuslegStyle  
#9 Оставлено : 29 ноября 2012 г. 15:21:17(UTC)
SuslegStyle

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

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

Сказал(а) «Спасибо»: 2 раз
При использовании WebReg.CertMan мне говорят что объект не поддерживает этот метод. GetCertificatesListMtoN - это ИВП, значит для его использования нужен будет дополнительный запрос, после получения сертификата. Нужно будет передать полученный сертификат в качестве клиентского, чтобы прошла авторизация и так далее...

Есть ли в объектах "WebReg.RegMan", "WebReg.CertMan", "WebReg.Utils" какой-то метод, который бы позволил узнать CertificateID.
Просто раз я получил PKCS, хотелось бы тут уже узнать CertificateID без дополнительных запросов от клиента.
Offline Kirill Sobolev  
#10 Оставлено : 29 ноября 2012 г. 16:16:33(UTC)
Кирилл Соболев

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

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

Поблагодарили: 177 раз в 168 постах
Цитата:
При использовании WebReg.CertMan мне говорят что объект не поддерживает этот метод.

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