Atom Лента - Форум КриптоПро - Тема:Подтверждение действий через REST-интерфейс - 10Форум КриптоПро - Atom Лентаurn:https:--www-cryptopro-ru:AtomLenta:ForumKriptoPro:Tema:PodtverzhdeniedejjstvijjcherezREST-interfejjs-10:1Copyright 2024 Форум КриптоПро2024-03-19T05:08:23Zhttps://www.cryptopro.ru/forum2/Images/YAFLogo.pngForum Adminhttps://www.cryptopro.ruforum@cryptopro.ruMikle.gbhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=61647&name=Mikle.gbMikle.gbhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=61647&name=Mikle.gbMikle.gbhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=61647&name=Mikle.gbАндрей Солдатовhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=52130&name=Андрей СолдатовMikle.gbhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=61647&name=Mikle.gbАндрей Солдатовhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=52130&name=Андрей СолдатовMikle.gbhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=61647&name=Mikle.gbATRThttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=50194&name=ATRTMironovhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=31135&name=MironovATRThttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=50194&name=ATRTATRThttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=50194&name=ATRTYetAnotherForum.NETurn:https:--www-cryptopro-ru:ftPosts:st1:meid131445:1Подтверждение действий через REST-интерфейс<table class="content postContainer_Alt" width="100%"><tr><td>В общем - причина странных ответов ("invalid_operation", {"Message":"The request is invalid.","ModelState":{"transaction":["Unexpected character encountered while parsing value: B. Path '', line 0, position 0."]}}, "ModelState":{"transaction":["Unexpected character encountered while parsing value: %. Path '', line 0, position 0."]}) в неправильно сформированных заголовках.<br />Когда поставил fiddler и посмотрел, что выдаёт код реально - ужаснулся и начал разбираться.<br />Выяснил, что ДСС весьма чувствителен к заголовку Content-Type - он должен быть строго "application/json"; если появляется application/x-www-form-urlencoded - ждите странных сообщений. А поскольку высокоуровневые компоненты сами многое решают за нас - shit happends даже при попытке явного указания заголовка ("Content-Type: application/json, application/x-www-form-urlencoded" тоже оказалось для дсс неприемлемо).<br />Пример рабочего кода на XE8:<div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-markup">
TRESTRequest *r2= new TRESTRequest((TComponent *)Sender);
TRESTClient *cl2= new TRESTClient((TComponent *)Sender);
cl2->ProxyServer= "127.0.0.1"; cl2->ProxyPort= 8888; // это для фидлера
r2->Client= cl2; r2->Response= resp;
cl2->BaseURL= "https://dss.host.ru/SignServer/rest/api/transactions";
r2->Method= rmPOST;
r2->Params->AddItem("Authorization", "Bearer " +token, pkHTTPHEADER)->Options << poDoNotEncode;
r2->AddBody( strReqJs, ctAPPLICATION_JSON);
r2->Execute();
</code></pre>
</div></div><br /><br />Добавлю, что для успешного открытия транзакции требуется параметр {"Name":"TSPAddress","Value":"https://dss.host.ru/TSP/tsp.srf"}</td></tr></table>2022-02-14T15:14:27+03:002022-02-14T15:14:27+03:00Mikle.gb<table class="content postContainer_Alt" width="100%"><tr><td>В общем - причина странных ответов ("invalid_operation", {"Message":"The request is invalid.","ModelState":{"transaction":["Unexpected character encountered while parsing value: B. Path '', line 0, position 0."]}}, "ModelState":{"transaction":["Unexpected character encountered while parsing value: %. Path '', line 0, position 0."]}) в неправильно сформированных заголовках.<br />Когда поставил fiddler и посмотрел, что выдаёт код реально - ужаснулся и начал разбираться.<br />Выяснил, что ДСС весьма чувствителен к заголовку Content-Type - он должен быть строго "application/json"; если появляется application/x-www-form-urlencoded - ждите странных сообщений. А поскольку высокоуровневые компоненты сами многое решают за нас - shit happends даже при попытке явного указания заголовка ("Content-Type: application/json, application/x-www-form-urlencoded" тоже оказалось для дсс неприемлемо).<br />Пример рабочего кода на XE8:<div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-markup">
TRESTRequest *r2= new TRESTRequest((TComponent *)Sender);
TRESTClient *cl2= new TRESTClient((TComponent *)Sender);
cl2->ProxyServer= "127.0.0.1"; cl2->ProxyPort= 8888; // это для фидлера
r2->Client= cl2; r2->Response= resp;
cl2->BaseURL= "https://dss.host.ru/SignServer/rest/api/transactions";
r2->Method= rmPOST;
r2->Params->AddItem("Authorization", "Bearer " +token, pkHTTPHEADER)->Options << poDoNotEncode;
r2->AddBody( strReqJs, ctAPPLICATION_JSON);
r2->Execute();
</code></pre>
</div></div><br /><br />Добавлю, что для успешного открытия транзакции требуется параметр {"Name":"TSPAddress","Value":"https://dss.host.ru/TSP/tsp.srf"}</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid131392:1Подтверждение действий через REST-интерфейс<table class="content postContainer" width="100%"><tr><td>Написал на портал с логами и примерами запросов, после опишу здесь причину и решение.</td></tr></table>2022-02-10T14:44:29+03:002022-02-10T14:44:29+03:00Mikle.gb<table class="content postContainer" width="100%"><tr><td>Написал на портал с логами и примерами запросов, после опишу здесь причину и решение.</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid131384:1Подтверждение действий через REST-интерфейс<table class="content postContainer_Alt" width="100%"><tr><td>1. Да, запросить у администраторов DSS.<br />2. Нет. Для работы на портале нужно использовать УЗ с нашего основного сайта, не с форума.<br />3. Для разбора нетипичных проблем, где требуется пересылать большое количество информации, логов - лучше все же писать на портал.</td></tr></table>2022-02-10T13:40:12+03:002022-02-10T13:40:12+03:00Андрей Солдатов<table class="content postContainer_Alt" width="100%"><tr><td>1. Да, запросить у администраторов DSS.<br />2. Нет. Для работы на портале нужно использовать УЗ с нашего основного сайта, не с форума.<br />3. Для разбора нетипичных проблем, где требуется пересылать большое количество информации, логов - лучше все же писать на портал.</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid131383:1Подтверждение действий через REST-интерфейс<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Андрей Солдатов <a href="/forum2/default.aspx?g=posts&m=131377#post131377"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Добрый день.<br />Ознакомьтесь, пожалуйста, с <a rel="nofollow" href="http://dss.cryptopro.ru/docs/articles/smsauth/confirmation.html" title="http://dss.cryptopro.ru/docs/articles/smsauth/confirmation.html">полной последовательностью действий</a><br />...<br />А также приложите журналы администратора ЦИ и Сервиса Подписи DSS + ссылку на данную ветку форума.</div></div><br /><br />Добрый.<br />C указанным разделом знаком, там не вижу ничего по своей проблеме. Пользователь настроен как указано; авторизация и получение сертификатов работает, затык на пункте "1.1 POST Запрос на создание транзакции подписи на Сервисе Подписи" - пример не работает, ошибка {"Message":"invalid_operation"} там не описана.<br />Собственно, я прикладной программист - я хочу пользоваться сервисом, а не разбираться в нюансах работы чужой системы:(<br /><br />По поводу обращения в техподдержку уточните пжл:<br />1) Как получить "журналы администратора ЦИ и Сервиса Подписи DSS" - видимо, запросить у админов DSS за небольшой период, в течение которого выполнялась проблемная операция?<br />2) Авторизация на портале должна пройти с той же учёткой, что и на этом форуме? не пускает почему-то.<br />3) в "телеграмме" можно обращаться с тем же успехом, что и на портале?</td></tr></table>2022-02-10T13:32:40+03:002022-02-10T13:32:40+03:00Mikle.gb<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Андрей Солдатов <a href="/forum2/default.aspx?g=posts&m=131377#post131377"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Добрый день.<br />Ознакомьтесь, пожалуйста, с <a rel="nofollow" href="http://dss.cryptopro.ru/docs/articles/smsauth/confirmation.html" title="http://dss.cryptopro.ru/docs/articles/smsauth/confirmation.html">полной последовательностью действий</a><br />...<br />А также приложите журналы администратора ЦИ и Сервиса Подписи DSS + ссылку на данную ветку форума.</div></div><br /><br />Добрый.<br />C указанным разделом знаком, там не вижу ничего по своей проблеме. Пользователь настроен как указано; авторизация и получение сертификатов работает, затык на пункте "1.1 POST Запрос на создание транзакции подписи на Сервисе Подписи" - пример не работает, ошибка {"Message":"invalid_operation"} там не описана.<br />Собственно, я прикладной программист - я хочу пользоваться сервисом, а не разбираться в нюансах работы чужой системы:(<br /><br />По поводу обращения в техподдержку уточните пжл:<br />1) Как получить "журналы администратора ЦИ и Сервиса Подписи DSS" - видимо, запросить у админов DSS за небольшой период, в течение которого выполнялась проблемная операция?<br />2) Авторизация на портале должна пройти с той же учёткой, что и на этом форуме? не пускает почему-то.<br />3) в "телеграмме" можно обращаться с тем же успехом, что и на портале?</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid131377:1Подтверждение действий через REST-интерфейс<table class="content postContainer_Alt" width="100%"><tr><td>Добрый день.<br />Ознакомьтесь, пожалуйста, с <a rel="nofollow" href="http://dss.cryptopro.ru/docs/articles/smsauth/confirmation.html" title="http://dss.cryptopro.ru/docs/articles/smsauth/confirmation.html">полной последовательностью действий</a>, необходимых для подтверждения операции через второй фактор.<br />Хоть данный раздел руководства и составлен на примере подтверждения через СМС - с e-mail все будет аналогично.<br /><br />Если ошибка все равно будет сохраняться - создайте, пожалуйста, обращение на <a rel="nofollow" href="https://support.cryptopro.ru/" title="https://support.cryptopro.ru/">нашем портале поддержки</a>.<br /><a rel="nofollow" href="https://www.cryptopro.ru/sites/default/files/docs/law/user-man-support.pdf" title="https://www.cryptopro.ru/sites/default/files/docs/law/user-man-support.pdf">Инструкция по работе с порталом</a>.<br /><br />В обращении приложите полную цепочку выполняемых запросов и возвращаемых ответов.<br />А также приложите журналы администратора ЦИ и Сервиса Подписи DSS + ссылку на данную ветку форума.</td></tr></table>2022-02-10T12:58:37+03:002022-02-10T12:58:37+03:00Андрей Солдатов<table class="content postContainer_Alt" width="100%"><tr><td>Добрый день.<br />Ознакомьтесь, пожалуйста, с <a rel="nofollow" href="http://dss.cryptopro.ru/docs/articles/smsauth/confirmation.html" title="http://dss.cryptopro.ru/docs/articles/smsauth/confirmation.html">полной последовательностью действий</a>, необходимых для подтверждения операции через второй фактор.<br />Хоть данный раздел руководства и составлен на примере подтверждения через СМС - с e-mail все будет аналогично.<br /><br />Если ошибка все равно будет сохраняться - создайте, пожалуйста, обращение на <a rel="nofollow" href="https://support.cryptopro.ru/" title="https://support.cryptopro.ru/">нашем портале поддержки</a>.<br /><a rel="nofollow" href="https://www.cryptopro.ru/sites/default/files/docs/law/user-man-support.pdf" title="https://www.cryptopro.ru/sites/default/files/docs/law/user-man-support.pdf">Инструкция по работе с порталом</a>.<br /><br />В обращении приложите полную цепочку выполняемых запросов и возвращаемых ответов.<br />А также приложите журналы администратора ЦИ и Сервиса Подписи DSS + ссылку на данную ветку форума.</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid131374:1Подтверждение действий через REST-интерфейс<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Mironov <a href="/forum2/default.aspx?g=posts&m=95810#post95810"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Попробуем воспроизвести на ниш стендах.</div></div><br /><br />Коллеги, у меня аналогичная проблема. Получаю токен через post на sts/oauth/token, ищу сертификат пользователя через get на SignServer/rest/api/certificates - всё ок.<br />А дальше любая попытка начать транзакцию подписания документе через post на SignServer/rest/api/transactions даёт ответ 400 {"Message":"invalid_operation"}<br />на любой запрос, если в нём есть хоть один символ (в т.ч. пример запроса из хелпа <a rel="nofollow" href="http://dss.cryptopro.ru/docs/articles/rest/signserver/endpoints/transaction.html)." title="http://dss.cryptopro.ru/docs/articles/rest/signserver/endpoints/transaction.html).">http://dss.cryptopro.ru/...oints/transaction.html).</a> <br />Если же тело запроса пустое - отвечает {"Message":"An error has occurred."} <br />Планирую подавать запрос вида <div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-markup">{
"OperationCode": 2,
"Parameters": [
{"Name": "SignatureType", "Value": "PDF"},
{"Name": "CertificateID", "Value": "17668"},
{"Name": "PDFFormat", "Value": "CAdES"},
{"Name": "PDFCertificationLevel", "Value": "CERTIFIED_NO_CHANGES_ALLOWED"},
{"Name": "PDFReason", "Value": "Reason"},
{"Name": "DocumentInfo", "Value": "testPdf.pdf"},
{"Name": "DocumentType", "Value": "pdf"},
{"Name": "IsDetached", "Value": "false"},
{"Name": "CADESType", "Value": "BES"},
{"Name": "PdfSignatureAppearance", "Value": "ewo взято из примера в хелпе ... fQo="},
{"Name": "PdfSignatureTemplateId", "Value": "1"}
],
"Document": "JVB тестовый pdf ... Rgo="
}</code></pre>
</div></div><br /> джейсон валидный - ошибка либо в настройках, либо в сочетании параметров, либо какой-то ещё шаг пропущен... но по ответу DSS определить это невозможно(<br /><br />У тестового пользователя, которым хочу подписать документ, включена вторичная аутентификация по email (единственный способ), подтверждение на подпись документа включено.<br />В моих фантазиях DSS должен начать транзакцию и послать на почту пользователя второй фактор, далее я сделаю POST на "STS/confirmation" с указанием id транзакции и полученным фактором, после чего получу подписанный документ запросом post на "SignServer/rest/api/documents". Поправьте пжл, если ошибаюсь, и помогите диагностировать причину ошибки с началом транзакции.</td></tr></table>2022-02-10T12:39:21+03:002022-02-10T12:39:21+03:00Mikle.gb<table class="content postContainer" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Mironov <a href="/forum2/default.aspx?g=posts&m=95810#post95810"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Попробуем воспроизвести на ниш стендах.</div></div><br /><br />Коллеги, у меня аналогичная проблема. Получаю токен через post на sts/oauth/token, ищу сертификат пользователя через get на SignServer/rest/api/certificates - всё ок.<br />А дальше любая попытка начать транзакцию подписания документе через post на SignServer/rest/api/transactions даёт ответ 400 {"Message":"invalid_operation"}<br />на любой запрос, если в нём есть хоть один символ (в т.ч. пример запроса из хелпа <a rel="nofollow" href="http://dss.cryptopro.ru/docs/articles/rest/signserver/endpoints/transaction.html)." title="http://dss.cryptopro.ru/docs/articles/rest/signserver/endpoints/transaction.html).">http://dss.cryptopro.ru/...oints/transaction.html).</a> <br />Если же тело запроса пустое - отвечает {"Message":"An error has occurred."} <br />Планирую подавать запрос вида <div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-markup">{
"OperationCode": 2,
"Parameters": [
{"Name": "SignatureType", "Value": "PDF"},
{"Name": "CertificateID", "Value": "17668"},
{"Name": "PDFFormat", "Value": "CAdES"},
{"Name": "PDFCertificationLevel", "Value": "CERTIFIED_NO_CHANGES_ALLOWED"},
{"Name": "PDFReason", "Value": "Reason"},
{"Name": "DocumentInfo", "Value": "testPdf.pdf"},
{"Name": "DocumentType", "Value": "pdf"},
{"Name": "IsDetached", "Value": "false"},
{"Name": "CADESType", "Value": "BES"},
{"Name": "PdfSignatureAppearance", "Value": "ewo взято из примера в хелпе ... fQo="},
{"Name": "PdfSignatureTemplateId", "Value": "1"}
],
"Document": "JVB тестовый pdf ... Rgo="
}</code></pre>
</div></div><br /> джейсон валидный - ошибка либо в настройках, либо в сочетании параметров, либо какой-то ещё шаг пропущен... но по ответу DSS определить это невозможно(<br /><br />У тестового пользователя, которым хочу подписать документ, включена вторичная аутентификация по email (единственный способ), подтверждение на подпись документа включено.<br />В моих фантазиях DSS должен начать транзакцию и послать на почту пользователя второй фактор, далее я сделаю POST на "STS/confirmation" с указанием id транзакции и полученным фактором, после чего получу подписанный документ запросом post на "SignServer/rest/api/documents". Поправьте пжл, если ошибаюсь, и помогите диагностировать причину ошибки с началом транзакции.</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid95817:1Подтверждение действий через REST-интерфейс<table class="content postContainer_Alt" width="100%"><tr><td>TSP доступен. Если отключить подтверждение подписи, то процесс подписания проходит нормально, timestamp ставится.</td></tr></table>2018-10-04T08:31:37+03:002018-10-04T08:31:37+03:00ATRT<table class="content postContainer_Alt" width="100%"><tr><td>TSP доступен. Если отключить подтверждение подписи, то процесс подписания проходит нормально, timestamp ставится.</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid95810:1Подтверждение действий через REST-интерфейс<table class="content postContainer" width="100%"><tr><td>Попробуем воспроизвести на ниш стендах.<br />Как вариант, проверьте есть ли запись о службе TSP в свойствах DSS (командлет в Powershell: Get-DssProperties), а так же проверьте доступность этой службы TSP с сервера DSS.<br /><br /></td></tr></table>2018-10-03T17:44:28+03:002018-10-03T17:44:28+03:00Mironov<table class="content postContainer" width="100%"><tr><td>Попробуем воспроизвести на ниш стендах.<br />Как вариант, проверьте есть ли запись о службе TSP в свойствах DSS (командлет в Powershell: Get-DssProperties), а так же проверьте доступность этой службы TSP с сервера DSS.<br /><br /></td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid95779:1Подтверждение действий через REST-интерфейс<div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-markup">
<E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent">
<System xmlns="http://schemas.microsoft.com/2004/06/windows/eventlog/system">
<EventID>131076</EventID>
<Type>3</Type>
<SubType Name="Error">0</SubType>
<Level>2</Level>
<TimeCreated SystemTime="2018-10-03T04:00:36.9380227Z" />
<Source Name="System.ServiceModel" />
<Correlation ActivityID="{00000000-0000-0000-0000-000000000000}" />
<Execution ProcessName="w3wp" ProcessID="380" ThreadID="36" />
<Channel />
<Computer>DSSLAB</Computer>
</System>
<ApplicationData>
<TraceData>
<DataItem>
<TraceRecord Severity="Error" Channel="Operational" xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord">
<TraceIdentifier>http://msdn.microsoft.com/ru-RU/library/System.ServiceModel.Diagnostics.TraceHandledException.aspx</TraceIdentifier>
<Description>Обработка исключения. Сведения об исключении: System.InvalidOperationException: Отсутствует описание события типа TransactionTokenCreationFail
в CryptoPro.DSS.Common.Notification.Managers.NotificationManager.Notify(DSSMessage message)
в CryptoPro.DSS.SignatureServer.Services.SignService.CreateTransactionToken(DSSActions operationCode, Dictionary`2 additionalParams, Byte[] document)
в CryptoPro.DSS.SignatureServer.Services.AdvancedSignService.CreateTransactionToken(DSSActions operationCode, Dictionary`2 additionalParams, Byte[] document)
в SyncInvokeCreateTransactionToken(Object , Object[] , Object[] )
в System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
в System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
в System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
в System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc)
в System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)</Description>
<AppDomain>/LM/W3SVC/1/ROOT/SignServer-3-131830122273886427</AppDomain>
<Exception>
<ExceptionType>System.InvalidOperationException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType>
<Message>Отсутствует описание события типа TransactionTokenCreationFail</Message>
<StackTrace>
в CryptoPro.DSS.Common.Notification.Managers.NotificationManager.Notify(DSSMessage message)
в CryptoPro.DSS.SignatureServer.Services.SignService.CreateTransactionToken(DSSActions operationCode, Dictionary`2 additionalParams, Byte[] document)
в CryptoPro.DSS.SignatureServer.Services.AdvancedSignService.CreateTransactionToken(DSSActions operationCode, Dictionary`2 additionalParams, Byte[] document)
в SyncInvokeCreateTransactionToken(Object , Object[] , Object[] )
в System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]&amp; outputs)
в System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc&amp; rpc)
в System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc&amp; rpc)
в System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc&amp; rpc)
в System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)
</StackTrace>
<ExceptionString>System.InvalidOperationException: Отсутствует описание события типа TransactionTokenCreationFail
в CryptoPro.DSS.Common.Notification.Managers.NotificationManager.Notify(DSSMessage message)
в CryptoPro.DSS.SignatureServer.Services.SignService.CreateTransactionToken(DSSActions operationCode, Dictionary`2 additionalParams, Byte[] document)
в CryptoPro.DSS.SignatureServer.Services.AdvancedSignService.CreateTransactionToken(DSSActions operationCode, Dictionary`2 additionalParams, Byte[] document)
в SyncInvokeCreateTransactionToken(Object , Object[] , Object[] )
в System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]&amp; outputs)
в System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc&amp; rpc)
в System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc&amp; rpc)
в System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc&amp; rpc)
в System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)</ExceptionString>
</Exception>
</TraceRecord>
</DataItem>
</TraceData>
</ApplicationData>
</E2ETraceEvent></code></pre>
</div></div>2018-10-03T07:08:22+03:002018-10-03T07:08:22+03:00ATRT<div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-markup">
<E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent">
<System xmlns="http://schemas.microsoft.com/2004/06/windows/eventlog/system">
<EventID>131076</EventID>
<Type>3</Type>
<SubType Name="Error">0</SubType>
<Level>2</Level>
<TimeCreated SystemTime="2018-10-03T04:00:36.9380227Z" />
<Source Name="System.ServiceModel" />
<Correlation ActivityID="{00000000-0000-0000-0000-000000000000}" />
<Execution ProcessName="w3wp" ProcessID="380" ThreadID="36" />
<Channel />
<Computer>DSSLAB</Computer>
</System>
<ApplicationData>
<TraceData>
<DataItem>
<TraceRecord Severity="Error" Channel="Operational" xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord">
<TraceIdentifier>http://msdn.microsoft.com/ru-RU/library/System.ServiceModel.Diagnostics.TraceHandledException.aspx</TraceIdentifier>
<Description>Обработка исключения. Сведения об исключении: System.InvalidOperationException: Отсутствует описание события типа TransactionTokenCreationFail
в CryptoPro.DSS.Common.Notification.Managers.NotificationManager.Notify(DSSMessage message)
в CryptoPro.DSS.SignatureServer.Services.SignService.CreateTransactionToken(DSSActions operationCode, Dictionary`2 additionalParams, Byte[] document)
в CryptoPro.DSS.SignatureServer.Services.AdvancedSignService.CreateTransactionToken(DSSActions operationCode, Dictionary`2 additionalParams, Byte[] document)
в SyncInvokeCreateTransactionToken(Object , Object[] , Object[] )
в System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
в System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
в System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
в System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc)
в System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)</Description>
<AppDomain>/LM/W3SVC/1/ROOT/SignServer-3-131830122273886427</AppDomain>
<Exception>
<ExceptionType>System.InvalidOperationException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType>
<Message>Отсутствует описание события типа TransactionTokenCreationFail</Message>
<StackTrace>
в CryptoPro.DSS.Common.Notification.Managers.NotificationManager.Notify(DSSMessage message)
в CryptoPro.DSS.SignatureServer.Services.SignService.CreateTransactionToken(DSSActions operationCode, Dictionary`2 additionalParams, Byte[] document)
в CryptoPro.DSS.SignatureServer.Services.AdvancedSignService.CreateTransactionToken(DSSActions operationCode, Dictionary`2 additionalParams, Byte[] document)
в SyncInvokeCreateTransactionToken(Object , Object[] , Object[] )
в System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]&amp; outputs)
в System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc&amp; rpc)
в System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc&amp; rpc)
в System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc&amp; rpc)
в System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)
</StackTrace>
<ExceptionString>System.InvalidOperationException: Отсутствует описание события типа TransactionTokenCreationFail
в CryptoPro.DSS.Common.Notification.Managers.NotificationManager.Notify(DSSMessage message)
в CryptoPro.DSS.SignatureServer.Services.SignService.CreateTransactionToken(DSSActions operationCode, Dictionary`2 additionalParams, Byte[] document)
в CryptoPro.DSS.SignatureServer.Services.AdvancedSignService.CreateTransactionToken(DSSActions operationCode, Dictionary`2 additionalParams, Byte[] document)
в SyncInvokeCreateTransactionToken(Object , Object[] , Object[] )
в System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]&amp; outputs)
в System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc&amp; rpc)
в System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc&amp; rpc)
в System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc&amp; rpc)
в System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)</ExceptionString>
</Exception>
</TraceRecord>
</DataItem>
</TraceData>
</ApplicationData>
</E2ETraceEvent></code></pre>
</div></div>urn:https:--www-cryptopro-ru:ftPosts:st1:meid95658:1Подтверждение действий через REST-интерфейсPOST https://dsslab/SignServer/rest/api/transactions HTTP/1.1<br />Accept: application/json<br />Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IlBPTTVGUWdi...<br />Content-Type: application/json; charset=utf-8<br />Host: dsslab<br />Content-Length: 110488<br />Expect: 100-continue<br /><br />{<br />"OperationCode":2,<br />"Parameters":<br /> [<br /> {"Name":"SignatureType","Value":"CMS"},<br /> {"Name":"CertificateID","Value":"6010"},<br /> {"Name":"DocumentInfo","Value":"testPdf.pdf"},<br /> {"Name":"DocumentType","Value":"pdf"},<br /> {"Name":"IsDetached","Value":"false"},<br /> {"Name":"CADESType","Value":"BES"}<br /> ],<br />"Document":"JVBERi0xLjUNCiW1tbW1DQoxIDAgb2JqDQo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMiAwIFIvTGFuZyhydS1SVSkgL1N0cnVjdFRyZWVSb290IDkgMCBSL01hcmtJbmZvPDwvTWFya2VkIHRydWU+Pj4+..."<br />}2018-09-28T07:17:11+03:002018-09-28T07:17:11+03:00ATRTPOST https://dsslab/SignServer/rest/api/transactions HTTP/1.1<br />Accept: application/json<br />Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IlBPTTVGUWdi...<br />Content-Type: application/json; charset=utf-8<br />Host: dsslab<br />Content-Length: 110488<br />Expect: 100-continue<br /><br />{<br />"OperationCode":2,<br />"Parameters":<br /> [<br /> {"Name":"SignatureType","Value":"CMS"},<br /> {"Name":"CertificateID","Value":"6010"},<br /> {"Name":"DocumentInfo","Value":"testPdf.pdf"},<br /> {"Name":"DocumentType","Value":"pdf"},<br /> {"Name":"IsDetached","Value":"false"},<br /> {"Name":"CADESType","Value":"BES"}<br /> ],<br />"Document":"JVBERi0xLjUNCiW1tbW1DQoxIDAgb2JqDQo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMiAwIFIvTGFuZyhydS1SVSkgL1N0cnVjdFRyZWVSb290IDkgMCBSL01hcmtJbmZvPDwvTWFya2VkIHRydWU+Pj4+..."<br />}