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

Уведомление

Icon
Error

2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline springjazzy  
#1 Оставлено : 24 декабря 2015 г. 16:23:59(UTC)
springjazzy

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

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

Поблагодарили: 4 раз в 4 постах
Необходимо оcуществить подпись XML сообщения по формату XAdES-BES из браузера. Как это сделать в javascript при помощи ЭЦП Browser Plugin.

Отредактировано пользователем 25 декабря 2015 г. 9:22:10(UTC)  | Причина: Не указана

Offline Павел Смирнов  
#2 Оставлено : 25 декабря 2015 г. 9:25:41(UTC)
Павел Смирнов

Статус: Вам и не снилось

Группы: Администраторы
Зарегистрирован: 24.12.2007(UTC)
Сообщений: 831
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 48 раз в 44 постах
Действуйте по данному примеру: http://cpdn.cryptopro.ru...s-sign-xml-template.html . Только подготовьте правильный шаблон XAdES-BES.
Техническую поддержку оказываем тут.
Наша база знаний.
Offline springjazzy  
#3 Оставлено : 25 декабря 2015 г. 9:30:14(UTC)
springjazzy

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

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

Поблагодарили: 4 раз в 4 постах
Так, а сервер с меткой времени какой брать? Есть какой-нить от КриптоПро? Есть ли пример подписи?
Offline Павел Смирнов  
#4 Оставлено : 25 декабря 2015 г. 9:39:46(UTC)
Павел Смирнов

Статус: Вам и не снилось

Группы: Администраторы
Зарегистрирован: 24.12.2007(UTC)
Сообщений: 831
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 48 раз в 44 постах
В XAdES-BES нет штампа времени. Примера такой подписи под рукой тоже нет.
Техническую поддержку оказываем тут.
Наша база знаний.
Offline springjazzy  
#5 Оставлено : 18 января 2016 г. 15:40:43(UTC)
springjazzy

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

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

Поблагодарили: 4 раз в 4 постах
Дошли руки до подписи Xades средствами браузера(делал до этого через .NET)

Итак, с чем столкнулся:

1. Сделал шаблон для xades - не заработал. Упростил его до XMLDSIG:

Код:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Header>
    <Action xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none" s:mustUnderstand="1">urn:exportNsiList</Action>
    <h:RequestHeader xmlns="http://dom.gosuslugi.ru/schema/integration/7.3.0.1/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:h="http://dom.gosuslugi.ru/schema/integration/7.3.0.1/">
      <Date>2016-01-04T15:34:10.6854897+03:00</Date>
      <MessageGUID>c77b3353-ff01-469c-b673-b03ef11446f7</MessageGUID>
      <SenderID>793d2498-28c3-45ec-ab2a-bfb16d3302a6</SenderID>
    </h:RequestHeader>
  </s:Header>
  <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <exportNsiListRequest xmlns="http://dom.gosuslugi.ru/schema/integration/7.3.0.1/nsi/" Id="signed-data-container" >
      <ds:Signature Id="xmldsig-9f02e90d-f9b3-47ee-9ebe-c2fc0c684e59" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
        <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#gostr34102001-gostr3411"/>
          <ds:Reference Id="xmldsig-9f02e90d-f9b3-47ee-9ebe-c2fc0c684e59-ref0" URI="#signed-data-container">
            <ds:Transforms>
              <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
              <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
            </ds:Transforms>
            <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr3411"/>
            <ds:DigestValue/>
          </ds:Reference>
        </ds:SignedInfo>
        <ds:SignatureValue/>
        <KeyInfo/>
      </ds:Signature>
    </exportNsiListRequest>
  </s:Body>
</s:Envelope>


При подписи выдает ошибку:

Failed to create signature. Error: An error was encountered while processing an XML digital signature. (0x800705BA)

Я так понимаю это из-за xml:id - xml:id. Пробовал ставить xml:id - всё равно не хочет подписывать. При этом пример с CPDN (Подпись по шаблону) у меня работает. Подскажите пожалуйста на что надо поменять ID чтобы подписывалось.

2. Можно ли как-то вывести логи - как в .NET?

Отредактировано пользователем 18 января 2016 г. 15:41:56(UTC)  | Причина: Не указана

Offline Павел Смирнов  
#6 Оставлено : 19 января 2016 г. 15:55:57(UTC)
Павел Смирнов

Статус: Вам и не снилось

Группы: Администраторы
Зарегистрирован: 24.12.2007(UTC)
Сообщений: 831
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 48 раз в 44 постах
Сделайте, пожалуйста, изолированный пример, воспроизводящий ошибку, чтобы мы могли у себя просто запустить, указав только сертификат.
Техническую поддержку оказываем тут.
Наша база знаний.
Offline springjazzy  
#7 Оставлено : 20 января 2016 г. 10:39:39(UTC)
springjazzy

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

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

Поблагодарили: 4 раз в 4 постах
Offline Павел Смирнов  
#8 Оставлено : 21 января 2016 г. 11:09:32(UTC)
Павел Смирнов

Статус: Вам и не снилось

Группы: Администраторы
Зарегистрирован: 24.12.2007(UTC)
Сообщений: 831
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 48 раз в 44 постах
С xml:id вместо Id здесь всё подписывается.
Техническую поддержку оказываем тут.
Наша база знаний.
Offline springjazzy  
#9 Оставлено : 21 января 2016 г. 13:50:38(UTC)
springjazzy

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

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

Поблагодарили: 4 раз в 4 постах
Действительно... видимо когда проверяли на своем примере ошибку внесли, а когда для вас версию сделали ошибку убрали.

Вопрос - а Xades объект самому готовить?

Код:
<xades:SignedSignatureProperties>
                <xades:SigningTime>2016-01-21T11:57:15.983+03:00</xades:SigningTime>
                <xades:SigningCertificate>
                  <xades:Cert>
                    <xades:CertDigest>
                      <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr3411"></ds:DigestMethod>
                      <ds:DigestValue>M3OC1L7meQALetbyo0DZA4/hO76u8i6nwekxqYUtp6A=</ds:DigestValue>
                    </xades:CertDigest>
                    <xades:IssuerSerial>
                      <ds:X509IssuerName>CN=CRYPTO-PRO Test Center 2,O=CRYPTO-PRO LLC,L=Moscow,C=RU,1.2.840.113549.1.9.1=support@cryptopro.ru</ds:X509IssuerName>
                      <ds:X509SerialNumber>401417043378807761420525522132433519464065731</ds:X509SerialNumber>
                    </xades:IssuerSerial>
                  </xades:Cert>
                </xades:SigningCertificate>
              </xades:SignedSignatureProperties>


Вот из этого что-то можно шаблонизировать?

Можно ли как-то избавится от xml:id? ГИС ЖКХ не хочет его принимать - Attribute 'xml:id' is not allowed to appear in element 'exportNsiListRequest'

Отредактировано пользователем 21 января 2016 г. 13:57:00(UTC)  | Причина: Не указана

Offline vladdy.moses  
#10 Оставлено : 22 января 2016 г. 15:48:09(UTC)
vladdy.moses

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

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

Сказал «Спасибо»: 1 раз
Автор: springjazzy Перейти к цитате
Действительно... видимо когда проверяли на своем примере ошибку внесли, а когда для вас версию сделали ошибку убрали.
Вопрос - а Xades объект самому готовить?
...
Вот из этого что-то можно шаблонизировать?
Можно ли как-то избавится от xml:id? ГИС ЖКХ не хочет его принимать - Attribute 'xml:id' is not allowed to appear in element 'exportNsiListRequest'


Насчёт xades: тут написано, что необходимо реализовать самостоятельно: https://www.cryptopro.ru...ts&m=47017#post47017 Ответ старый, конечно и не совсем про браузерный плагин, но ничего более нового и подходящего не нашёл. Куски по реализации xades-элементов также где-то видел на этом форуме.
Насчёт xml:id -- столкнулись с такой же проблемой. Решилось использованием этого: https://www.cryptopro.ru...ts&m=44879#post44879 . Тут стоит не забывать, что после подписи элемент менять нельзя, соответственно, необходимо сразу подписывать именно с атрибутом Id.

Отредактировано пользователем 22 января 2016 г. 15:51:44(UTC)  | Причина: слегка дополнил про подпись

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