Подпись тикета авторизации для работы с ИС ЭСФ

Здравствуйте. Вопрос скорее всего не по адресу…
Подскажите как правильно подписывать через KalganCryptoCOM.
Мой алгоритм действий:

  1. Получил тикет
  2. Вычислил Hash
  3. Подписал Hash
    Собрал все в запрос и отправил, в ответ приходит SIGNATURE_VERIFICATION_FAILED

Добрый день!
В файле COM/docs/SignData_and_VerifyData.docx есть описание методов SignData и VerifyData.

Если все же останутся вопросы, напишите еще раз, попробуем разобраться…

Добрый день!
В файле COM/docs/SignData_and_VerifyData.docx есть описание методов SignData и VerifyData.

Если все же останутся вопросы, напишите еще раз, попробуем разобраться…

смотрел описание полей DigestValue=Hash и SignatureValue=ПодписьХэша. Значение hash полученной из функции HashData() , а после подписывается значение outsign функцией SignHash() и помещается в SignatureValue. В инструкции COM/docs/SignData_and_VerifyData.docx об функциях Hash нечего не сказано и примеров нет

Я тикет портала (это xml) подписывал как XML и отправлял, портал принимает без всякого хэша.

В значение DigestValue поля что указывали. Забыл уточнить что используются ключи старого алгоритма: SignatureMethod = "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>";
DigestMethod = "http://www.w3.org/2001/04/xmlenc#sha256"/>";
AlgoritmHash = “sha256”;
и подпись/hash происходить ключом AUTH

Проверил на ключе старого формата АУТ, тоже все работает.
Получаю тикет с портала вида

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><authSign><timeMark>1697785833239</timeMark><state>jL2MKcjyGdrQINaGqyoHQX4OibCRTPPFyh7QepV1VWk=</state><iin>***</iin><ttlInMinutes>30</ttlInMinutes></authSign>

Дальше подписываю через SignXML

Получаю результат вида

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<authSign><timeMark>1697785833239</timeMark><state>jL2MKcjyGdrQINaGqyoHQX4OibCRTPPFyh7QepV1VWk=</state><iin>***</iin><ttlInMinutes>30</ttlInMinutes><ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="1">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
<ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>
<ds:Reference URI="">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
<ds:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"/>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
<ds:DigestValue>H3AvntUpgqTUpgpPYwVUB3pYZNCTjfKAC7/yrbx+/qY=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>****</ds:SignatureValue>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>*****</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</ds:Signature></authSign>

И его отправляю

Доброго времени суток! Рахмет. Все получилось!