Статус: Участник
Группы: Участники
Зарегистрирован: 21.12.2021(UTC) Сообщений: 14
Сказал(а) «Спасибо»: 3 раз
|
Добрый день. Составил шаблон подписи, пытаюсь заставить криптопро обработать данный шаблон, но в итоге получаю ошибку: "An error was encountered while processing an XML digital signature. (0x800705BA)" Без XSLT трансформации подпись успешно формируется. Поддерживаются ли XSLT трансформации? Код:<?xml version="1.0" encoding="UTF-8"?>
<a>
<b>Text 1</b>
<b>Text 2</b>
<c>Comment</c>
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="xslt-transformed-xml-signature">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
<ds:SignatureMethod Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102012-gostr34112012-256"/>
<ds:Reference URI="">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116">
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="a">
<root>
<texts>
<xsl:apply-templates select="b"/>
</texts>
<xsl:apply-templates select="c"/>
</root>
</xsl:template>
<xsl:template match="b">
<text>
<xsl:apply-templates/>
</text>
</xsl:template>
<xsl:template match="c">
<c>
<xsl:apply-templates/>
</c>
</xsl:template>
</xsl:stylesheet>
</ds:Transform>
<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
</ds:Transforms>
<ds:DigestMethod Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34112012-256"/>
<ds:DigestValue/>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue/>
<ds:KeyInfo/>
</ds:Signature>
</a>
|
|
|
|
Статус: Эксперт
Группы: Участники
Зарегистрирован: 05.03.2015(UTC) Сообщений: 1,602 Откуда: Иркутская область Сказал(а) «Спасибо»: 110 раз Поблагодарили: 394 раз в 366 постах
|
Порекомендую для чистоты эксперимента поменять трансформы местами: поставить enveloped-signature перед XSLT. Сейчас XSLT будет применяться и к Signature тоже (а там само определение шаблона трансформации) затем из результата будет попытка удалить Signature. Как такое сочетание обработается, будет зависить и от XSL sheet. Может Вам просто не повезло с XSL sheet, а может и правда поддержки нет - в данном случае не ясно.
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 21.12.2021(UTC) Сообщений: 14
Сказал(а) «Спасибо»: 3 раз
|
Автор: two_oceans Порекомендую для чистоты эксперимента поменять трансформы местами: поставить enveloped-signature перед XSLT. Сейчас XSLT будет применяться и к Signature тоже (а там само определение шаблона трансформации) затем из результата будет попытка удалить Signature. Как такое сочетание обработается, будет зависить и от XSL sheet. Может Вам просто не повезло с XSL sheet, а может и правда поддержки нет - в данном случае не ясно. А я так и тестировал, ради эксперимента, поменял их местами и скинул как раз то, что было заменено. В том случае также получал ошибку.
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 21.12.2021(UTC) Сообщений: 14
Сказал(а) «Спасибо»: 3 раз
|
Коллеги, данный шаблон выдает ровно ту же ошибку. Можно ли узнать поддерживаются ли XSLT трансформации в Browser Plugin? Код:<a>
<b>Text 1</b>
<b>Text 2</b>
<c>Comment</c>
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="base64-content-signature">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
<ds:SignatureMethod Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102012-gostr34112012-256"/>
<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/1999/REC-xslt-19991116">
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="text"/>
<xsl:template match="a">
<root>
<texts>
<xsl:apply-templates select="b"/>
</texts>
<xsl:apply-templates select="c"/>
</root>
</xsl:template>
<xsl:template match="b">
<text>
<xsl:apply-templates/>
</text>
</xsl:template>
<xsl:template match="c">
<c>
<xsl:apply-templates/>
</c>
</xsl:template>
</xsl:transform>
</ds:Transform>
</ds:Transforms>
<ds:DigestMethod Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34112012-256"/>
<ds:DigestValue/>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue/>
<ds:KeyInfo/>
</ds:Signature>
</a>
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close