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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline SuslegStyle  
#1 Оставлено : 13 ноября 2012 г. 17:01:42(UTC)
SuslegStyle

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

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

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

Решили обновить УЦ до версии 1.5. Поставили пока на тестовой машине. И есть желание, чтобы при очередном обновлении сертификатов запросы через нашу программу приходили уже на новый УЦ.
Поскольку на новом УЦ еще нет пользователей, то сначала приходит неподписанный запрос на регистрацию пользователя и ждет одобрения администратора.
Но вот дальше возникла проблема, имея маркер временного доступа и пароль не удается узнать состояние запроса на регистрацию. StateID и AdminComments возвращаются пустыми.
Каким образом осуществляется авторизация по маркеру временного доступа? Где именно используется TokenID и Password? посмотрел в RegTemporaryUser.asp там код аналогичный (правильнее сказать, у нас написано по аналогии :) конечно же).

Код:

im TokenID, Password
Response.Clear

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

If (Len(TokenID) <> 0) and (Len(Password) <>0 ) Then
	Set oUtils = Server.CreateObject("WebReg.Utils")
	' Здесь осуществится проверка маркера доступа.
	oUtils.GetRequestsByToken RegReqs, CertReqs
	
	If Err.Number <> 0 Then
		Response.Write "BadService"
		Response.Write Err.Description
	End If
	
	If RegReqs <> vbNullString Then
      Set adoRS = XML2Recordset(RegReqs)
		If Not (adoRS.BOF And adoRS.EOF) Then
			Response.Write adoRS.Fields("StateID")
			Response.Write "Comment:"
			Response.Write adoRS.Fields("AdminComments")
		End If
	End If		
Offline Kirill Sobolev  
#2 Оставлено : 13 ноября 2012 г. 17:28:38(UTC)
Кирилл Соболев

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

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

Поблагодарили: 177 раз в 168 постах
Если в RegReqs пусто, то запрос одобрен и пользователь создан.
TokenID и Password используются в объектах сервера ЦР, конкретно в Вашем примере в WebReg.Utils.
Техническую поддержку оказываем тут
Наша база знаний
Offline SuslegStyle  
#3 Оставлено : 13 ноября 2012 г. 17:42:39(UTC)
SuslegStyle

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

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

Сказал(а) «Спасибо»: 2 раз
Просто раньше, при одобрении запроса StateID возвращал 4, а сейчас пусто.
содержимое RegReqs выглядит так. Оно не пусто, но видно, что запрос одобрен.
Код:

<xml xmlns:s='uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882'
	xmlns:dt='uuid:C2F41010-65B3-11d1-A29F-00AA00C14882'
	xmlns:rs='urn:schemas-microsoft-com:rowset'
	xmlns:z='#RowsetSchema'>
<s:Schema id='RowsetSchema'>
	<s:ElementType name='row' content='eltOnly'>
		<s:AttributeType name='RegRequestID' rs:number='1' rs:writeunknown='true'>
			<s:datatype dt:type='int' dt:maxLength='4' rs:precision='10'
			 rs:fixedlength='true' rs:maybenull='false'/>
		</s:AttributeType>
		<s:AttributeType name='StateID' rs:number='2' rs:writeunknown='true'>
			<s:datatype dt:type='ui1' dt:maxLength='1' rs:precision='3'
			 rs:fixedlength='true' rs:maybenull='false'/>
		</s:AttributeType>
		<s:AttributeType name='EMail' rs:number='3' rs:nullable='true'
			 rs:writeunknown='true'>
			<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='128'/>
		</s:AttributeType>
		<s:AttributeType name='Password' rs:number='4' rs:writeunknown='true'>
			<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='128'
			 rs:maybenull='false'/>
		</s:AttributeType>
		<s:AttributeType name='UserInfo' rs:number='5' rs:nullable='true'
			 rs:writeunknown='true'>
			<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='1024'/>
		</s:AttributeType>
		<s:AttributeType name='RequestDate' rs:number='6' rs:writeunknown='true'>
			<s:datatype dt:type='dateTime' rs:dbtype='timestamp'
			 dt:maxLength='16' rs:scale='3' rs:precision='23' rs:fixedlength='true'
			 rs:maybenull='false'/>
		</s:AttributeType>
		<s:AttributeType name='ApproveDate' rs:number='7' rs:nullable='true'
			 rs:writeunknown='true'>
			<s:datatype dt:type='dateTime' rs:dbtype='timestamp'
			 dt:maxLength='16' rs:scale='3' rs:precision='23' rs:fixedlength='true'/>
		</s:AttributeType>
		<s:AttributeType name='AdminComments' rs:number='8'
			 rs:nullable='true' rs:writeunknown='true'>
			<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='1024'/>
		</s:AttributeType>
		<s:AttributeType name='CreatedByAdmin' rs:number='9'
			 rs:writeunknown='true'>
			<s:datatype dt:type='boolean' dt:maxLength='2' rs:fixedlength='true'
			 rs:maybenull='false'/>
		</s:AttributeType>
		<s:AttributeType name='UserID' rs:number='10' rs:nullable='true'
			 rs:writeunknown='true'>
			<s:datatype dt:type='int' dt:maxLength='4' rs:precision='10'
			 rs:fixedlength='true'/>
		</s:AttributeType>
		<s:AttributeType name='Subject' rs:number='11' rs:nullable='true'
			 rs:writeunknown='true'>
			<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='2147483647'
			 rs:long='true'/>
		</s:AttributeType>
		<s:AttributeType name='PKCS' rs:number='12' rs:nullable='true'
			 rs:writeunknown='true'>
			<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='2147483647'
			 rs:long='true'/>
		</s:AttributeType>
		<s:AttributeType name='KeyPhrase' rs:number='13' rs:nullable='true'
			 rs:writeunknown='true'>
			<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='255'/>
		</s:AttributeType>
		<s:extends type='rs:rowbase'/>
	</s:ElementType>
</s:Schema>
<rs:data>
	<z:row RegRequestID='17' StateID='4' EMail='0' Password=''
		 RequestDate='2012-11-12T15:16:16.630000000' ApproveDate='2012-11-12T15:17:30.227000000'
		 AdminComments='одобрен' CreatedByAdmin='False' UserID='9'
		 Subject='1.2.643.100.3=12345678901, 1.2.643.100.1=1234567890123, 1.2.643.3.141.1.2=9999, 1.2.643.3.141.1.1=9999123456, 1.2.643.3.131.1.1=005528002703, 1.2.840.113549.1.9.1=0, 2.5.4.6=RU, 2.5.4.8=55 Омская область, 2.5.4.7=Омск, 2.5.4.10=Тестовая организация, 2.5.4.11=0, 2.5.4.3=Кухтиков Илья Александрович, 2.5.4.12=Директор'/>
</rs:data>
</xml>

Отредактировано пользователем 13 ноября 2012 г. 17:46:42(UTC)  | Причина: Не указана

Offline SuslegStyle  
#4 Оставлено : 14 ноября 2012 г. 14:57:00(UTC)
SuslegStyle

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

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

Сказал(а) «Спасибо»: 2 раз
Если в RegReqs не пусто, то почему в adoRS.Fields("StateID") и adoRS.Fields("StateID").Value пусто ? подскажите, как мне получить статус запроса?
Offline Kirill Sobolev  
#5 Оставлено : 14 ноября 2012 г. 17:11:13(UTC)
Кирилл Соболев

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

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

Поблагодарили: 177 раз в 168 постах
В приведенном Вами XML
Код:
<rs:data>
    <z:row RegRequestID='17' StateID='4' EMail='0' Password=''
         RequestDate='2012-11-12T15:16:16.630000000' ApproveDate='2012-11-12T15:17:30.227000000'
         AdminComments='одобрен' CreatedByAdmin='False' UserID='9'
         Subject='1.2.643.100.3=12345678901, 1.2.643.100.1=1234567890123, 1.2.643.3.141.1.2=9999, 1.2.643.3.141.1.1=9999123456, 1.2.643.3.131.1.1=005528002703, 1.2.840.113549.1.9.1=0, 2.5.4.6=RU, 2.5.4.8=55 Омская область, 2.5.4.7=Омск, 2.5.4.10=Тестовая организация, 2.5.4.11=0, 2.5.4.3=Кухтиков Илья Александрович, 2.5.4.12=Директор'/>
</rs:data>

StateID не пусто, а равно 4.
Техническую поддержку оказываем тут
Наша база знаний
Offline SuslegStyle  
#6 Оставлено : 14 ноября 2012 г. 17:37:33(UTC)
SuslegStyle

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

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

Сказал(а) «Спасибо»: 2 раз
Так в том-то и дело. Вопрос в том, отчего перестала работать строка adoRS.Fields("StateID").Value ? она ведь раньше возвращала 4.
Offline Kirill Sobolev  
#7 Оставлено : 14 ноября 2012 г. 17:50:01(UTC)
Кирилл Соболев

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

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

Поблагодарили: 177 раз в 168 постах
Другие поля возвращаются правильно?
Техническую поддержку оказываем тут
Наша база знаний
Offline SuslegStyle  
#8 Оставлено : 15 ноября 2012 г. 14:49:35(UTC)
SuslegStyle

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

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

Сказал(а) «Спасибо»: 2 раз
Нет. Ни одно поле не возращается.
Offline Kirill Sobolev  
#9 Оставлено : 15 ноября 2012 г. 15:31:33(UTC)
Кирилл Соболев

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

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

Поблагодарили: 177 раз в 168 постах
Возможно XML2Recordset не отрабатывает?
Техническую поддержку оказываем тут
Наша база знаний
Offline SuslegStyle  
#10 Оставлено : 15 ноября 2012 г. 17:44:39(UTC)
SuslegStyle

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

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

Сказал(а) «Спасибо»: 2 раз
Спасибо, разобрался. Все дело в моей невнимательности. Я честно говоря думал что XML2RecordSet какая-то стандратная функция в VBScript которая парсит XML. Поэтому и удивлялся отчего она у меня работать никак не хочет. Нашел, что эта функция описана в UtilsDef.asp, после чего подключил соответствующий файл и все заработало.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.