logo
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline AnatolyS1  
#1 Оставлено : 17 декабря 2018 г. 7:40:19(UTC)
AnatolyS1

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

Группы: Участники
Зарегистрирован: 16.04.2018(UTC)
Сообщений: 18
Российская Федерация

Сказал(а) «Спасибо»: 12 раз
Мы пробуем проверить необработанную подпись ГОСТ Р 34.10-2012 функцией VerifyRawSignature используя ПО CryptoPro SVS.

При вызове soap операции VerifyRawSignature к http://<hostname>/<ApplicationName>/service.svc мы формируем запрос:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://dss.cryptopro.ru/services/2015/04/" xmlns:arr="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<soapenv:Header/>
<soapenv:Body>
<ns:VerifyRawSignature>
<ns:certificate>CDFDOKAmgXQ...tCjHFDSg==</ns:certificate>
<ns:signature>YDFGzk...WY%DF0Zg==</ns:signature>
<ns:data>FGcGF5...xMC40GKFNQFG==</ns:data>
<ns:verifyParams>
<arr:KeyValueOfVerifyParamsstring1Iy7z97I>
<arr:Key>HashAlgorithm</arr:Key>
<arr:Value>GR 34.11-2012 512</arr:Value>
</arr:KeyValueOfVerifyParamsstring1Iy7z97I>
</ns:verifyParams>
</ns:VerifyRawSignature>
</soapenv:Body>
</soapenv:Envelope>

Сервис CryptoPro SVS возвращает fault ответ:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<s:Fault>
<faultcode>s:Client</faultcode>
<faultstring xml:lang="ru-RU">Cannot find the requested object.</faultstring>
<detail>
<DssFault xmlns="http://dss.cryptopro.ru/services/schemas/2014/06/" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<Message>Cannot find the requested object.</Message>
</DssFault>
</detail>
</s:Fault>
</s:Body>
</s:Envelope>

Вопрос следующий, какие параметры в запросе указаны не верно, или что необходимо до настроить (проверить) на стороне сервиса CryptoPro SVS?
Offline Грибанов Антон  
#2 Оставлено : 19 декабря 2018 г. 12:16:53(UTC)
Грибанов Антон

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

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

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 42 раз в 42 постах
Добрый день.
Вы можете прислать подписанный файл?
Техническую поддержку оказываем тут
Наша база знаний
Offline AnatolyS1  
#3 Оставлено : 19 декабря 2018 г. 15:48:55(UTC)
AnatolyS1

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

Группы: Участники
Зарегистрирован: 16.04.2018(UTC)
Сообщений: 18
Российская Федерация

Сказал(а) «Спасибо»: 12 раз
Коллеги, ошибку System.Security.Cryptography.CryptographicException: Cannot find the requested object мы определили включив трассировку (Enable-VsTracing): при формировании запроса передавали параметры (подпись, сертификат, данные) в виде base64, а не в виде массива байт.

У нас возник параллельный вопрос по решению DSS:
д/проверки и подписи сообщений ч/з DSS нам обязательно иметь HSM?

Например, у нас на сервере DSS установлен сертификат для подписи в консоли оснастки сертификатов (mmc) ОС, которым мы всегда будем производить подпись в течение года, далее смена сертификата на новый и аналогично далее взаимодействовать.

Для проверки подписи ч/з SVS нам не нужно было устанавливать HSM..
Offline AnatolyS1  
#4 Оставлено : 20 декабря 2018 г. 9:18:44(UTC)
AnatolyS1

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

Группы: Участники
Зарегистрирован: 16.04.2018(UTC)
Сообщений: 18
Российская Федерация

Сказал(а) «Спасибо»: 12 раз
После включения HTTPS для SVS получаем ошибку:

<Value1>System.ServiceModel.ServiceActivationException: The service '/verify/service.svc' cannot be activated due to an exception during compilation. The exception message is: Для добавления конечной точки [] требуется базовый адрес со схемой [https].. ---&amp;gt; System.InvalidOperationException: Для добавления конечной точки [] требуется базовый адрес со схемой [https].
at CryptoPro.DSS.VerificationService.Service.VsHost.AddServiceEndpoints()
at CryptoPro.DSS.VerificationService.Service.VsHost..ctor(Type serviceType, Uri[] baseAddresses, VsServiceContext serviceContext)
at CryptoPro.DSS.VerificationService.Service.VsHostFactory.CreateServiceHost(Type serviceType, Uri[] baseAddresses)
at System.ServiceModel.ServiceHostingEnvironment.HostingManager.CreateService(String normalizedVirtualPath, EventTraceActivity eventTraceActivity)
at System.ServiceModel.ServiceHostingEnvironment.HostingManager.ActivateService(ServiceActivationInfo serviceActivationInfo, EventTraceActivity eventTraceActivity)
at System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath, EventTraceActivity eventTraceActivity)
--- End of inner exception stack trace ---
at System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath, EventTraceActivity eventTraceActivity)
at System.ServiceModel.ServiceHostingEnvironment.EnsureServiceAvailableFast(String relativeVirtualPath, EventTraceActivity eventTraceActivity)</Value1>


Настройки VsEndpoint:
PS C:\WINDOWS\system32> Get-VsEndpoint

IsEnabled : True
IsRouted : False
Address :
Mode : None
Name : BasicHttp
IsHttpsRequires : False

IsEnabled : True
IsRouted : False
Address :
Mode : Transport
Name : BasicHttps
IsHttpsRequires : True


Подскажите, что сделали не так?

При этом, если выключить HTTPS - то при запросе проверки по HTTP все успешно работает.

PS C:\WINDOWS\system32> Disable-VsEndpoint –Name BasicHttps

IsEnabled : False
IsRouted : False
Address :
Mode : Transport
Name : BasicHttps
IsHttpsRequires : True

PS C:\WINDOWS\system32> Get-VsInstance

DisplayName : SVS
ApplicationName : verify
SiteName : Default Web Site
SiteId : 1
IsDefault : True

PS C:\WINDOWS\system32> Get-VsEndpoint

IsEnabled : True
IsRouted : False
Address :
Mode : None
Name : BasicHttp
IsHttpsRequires : False

IsEnabled : False
IsRouted : False
Address :
Mode : Transport
Name : BasicHttps
IsHttpsRequires : True
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.