logo Обзор КриптоПро NGate для защищённого доступа к корпоративным ресурсам
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Vladimir2008  
#1 Оставлено : 4 марта 2009 г. 18:17:54(UTC)
Vladimir2008

Статус: Активный участник

Группы: Участники
Зарегистрирован: 04.06.2008(UTC)
Сообщений: 41
Откуда: Москва

Сказал(а) «Спасибо»: 1 раз
При попытке подписать XML-файл большого размера (не менее 45 Мб) выдает ошибку на signedXml.ComputeSignature():

Цитата:
System.OutOfMemoryException не обработано
Message="Выдано исключение типа \"System.OutOfMemoryException\"."
Source="mscorlib"
StackTrace:
в System.Text.StringBuilder.Replace(String oldValue, String newValue, Int32 startIndex, Int32 count)
в System.Security.Cryptography.Xml.Utils.EscapeTextData(String data)
в System.Security.Cryptography.Xml.CanonicalXmlText.Write(StringBuilder strBuilder, DocPosition docPos, AncestralNamespaceContextManager anc)
в System.Security.Cryptography.Xml.CanonicalizationDispatcher.Write(XmlNode node, StringBuilder strBuilder, DocPosition docPos, AncestralNamespaceContextManager anc)
в System.Security.Cryptography.Xml.CanonicalXmlElement.Write(StringBuilder strBuilder, DocPosition docPos, AncestralNamespaceContextManager anc)
в System.Security.Cryptography.Xml.CanonicalizationDispatcher.Write(XmlNode node, StringBuilder strBuilder, DocPosition docPos, AncestralNamespaceContextManager anc)
в System.Security.Cryptography.Xml.CanonicalXmlElement.Write(StringBuilder strBuilder, DocPosition docPos, AncestralNamespaceContextManager anc)
в System.Security.Cryptography.Xml.CanonicalizationDispatcher.Write(XmlNode node, StringBuilder strBuilder, DocPosition docPos, AncestralNamespaceContextManager anc)
в System.Security.Cryptography.Xml.CanonicalXmlElement.Write(StringBuilder strBuilder, DocPosition docPos, AncestralNamespaceContextManager anc)
в System.Security.Cryptography.Xml.CanonicalizationDispatcher.Write(XmlNode node, StringBuilder strBuilder, DocPosition docPos, AncestralNamespaceContextManager anc)
в System.Security.Cryptography.Xml.CanonicalXmlElement.Write(StringBuilder strBuilder, DocPosition docPos, AncestralNamespaceContextManager anc)
в System.Security.Cryptography.Xml.CanonicalizationDispatcher.Write(XmlNode node, StringBuilder strBuilder, DocPosition docPos, AncestralNamespaceContextManager anc)
в System.Security.Cryptography.Xml.CanonicalXmlDocument.Write(StringBuilder strBuilder, DocPosition docPos, AncestralNamespaceContextManager anc)
в System.Security.Cryptography.Xml.CanonicalXml.GetBytes()
в System.Security.Cryptography.Xml.XmlDsigC14NTransform.GetOutput()
в System.Security.Cryptography.Xml.TransformChain.TransformToOctetStream(Object inputObject, Type inputType, XmlResolver resolver, String baseUri)
в System.Security.Cryptography.Xml.TransformChain.TransformToOctetStream(XmlDocument document, XmlResolver resolver, String baseUri)
в System.Security.Cryptography.Xml.Reference.CalculateHashValue(XmlDocument document, CanonicalXmlNodeList refList)
в System.Security.Cryptography.Xml.SignedXml.BuildDigestedReferences()
в System.Security.Cryptography.Xml.SignedXml.ComputeSignature()
в CryptoPro.Sharpei.Xml.CPSignedXml.ComputeSignature()
...

Можно ли как-то побороть это ограничение и от чего именно оно зависит, какие настройки (например, в операционке) следует изменить.
Используется Windows 2003 SP2, VS2005 SP1, FW 2.0 SP1, КриптоПро CSP 3.6.5084, Sharpei 1.0.3176.
Offline Челпанов А.  
#2 Оставлено : 4 марта 2009 г. 19:13:34(UTC)
Челпанов А.

Статус: Активный участник

Группы: Участники
Зарегистрирован: 24.12.2007(UTC)
Сообщений: 390
Мужчина
Откуда: КриптоПро

Поблагодарили: 2 раз в 2 постах
Скорее всего эта проблема не связана с КриптоПро Sharpei, а вызвана ошибкой (?) Microsoft в алгоритме канонизации XML. Похожая проблема обсуждается в http://social.msdn.micro...-4845-9487-e6f4ba853c49/ .
Если есть возможность проведите эксперимент на машине, на которой не установлен КриптоПро Sharpei, на ключах RSA - максимальный размер подписываемого файла не должен значительно измениться.
Точно сказать от чего этот размер зависит смогут только в Microsoft, могу посоветовать только подписывать не весь XML.
С уважением, Александр.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.