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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Gadget  
#1 Оставлено : 8 марта 2023 г. 20:27:57(UTC)
Gadget

Статус: Новичок

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

Windows 10, Browser Plug-in
не могу заставить работать подпись по шаблону с использованием сертификата с алгоритмом подписи sha256RSA.

неважно, располагается ли сертификат на ключевом носителе или же он самостоятельно создан через New-SelfSignedCertificate, при подписи xml файла

Код:
<!DOCTYPE test [<!ATTLIST Object Id ID #IMPLIED>]>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#" Id="idSignature">
  <SignedInfo>
    <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
    <SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256" />
    <Reference URI="#idObject" Type="http://www.w3.org/2000/09/xmldsig#Object">
      <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
      <DigestValue />
    </Reference>
  </SignedInfo>
  <SignatureValue />
  <KeyInfo />
  <Object Id="idObject">HI</Object>
</Signature>


"стандартным кодом"

Код:
let oSignedXML = await cadesplugin.CreateObjectAsync("CAdESCOM.SignedXML");
await oSignedXML.propset_Content(data.content);
await oSignedXML.propset_SignatureType(cadesplugin.CADESCOM_XML_SIGNATURE_TYPE_TEMPLATE);
retData = await oSignedXML.Sign(oSigner);


на Sign() выдаёт ошибку:

Не удалось создать подпись из-за ошибки: Объект или свойство не найдено. (0x80092004)

в debugView сообщения вида:
[7344] <capi10>0x27e4:_CryptGetUserKey!failed: LastError = 0x8009000D (:1145)
[7344] <capi10>0x27e4:_CryptGetKeyParam!failed: LastError = 0x8010002C (:1842)

при этом, отлично работает:
  • Cades BES в варианте с любым сертификатом oSignedData.SignCades(oSigner, cadesplugin.CADESCOM_CADES_BES, ...)
  • подпись XML сертификатом с алгоритмом подписи ГОСТ


xml файл, который подписывается нормально (отличается только SignatureMethod Algorithm):

Код:
<!DOCTYPE test [<!ATTLIST Object Id ID #IMPLIED>]>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#" Id="idSignature">
  <SignedInfo>
    <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
    <SignatureMethod Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102012-gostr34112012-256" />
    <Reference URI="#idObject" Type="http://www.w3.org/2000/09/xmldsig#Object">
      <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
      <DigestValue />
    </Reference>
  </SignedInfo>
  <SignatureValue />
  <KeyInfo />
  <Object Id="idObject">HI</Object>
</Signature>

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