草庐IT

系统签名

全部标签

xml - 如何将相关系统 DTD 加载到 StAX 解析器中?

我正在使用woodstox为XML文件实现StAX解析器。假设我在文件系统的公共(public)目录中某处有一个有效的XML文件和匹配的DTD。/path/to/test.xml/path/to/test.dtd使用相对系统标识符声明的XML引用其DTD,如下所示:从验证的角度来看,我觉得一切都很好。(是吗?xmllint没有提示。)但是,当我试图用下面的代码解析文件时,woodstox抛出一个java.io.FileNotFoundException,因为它找不到相关的DTD文件。在我看来,该实现试图访问相对于工作目录而不是相对于XML文件对象的DTD文件。importjava.io

c# - 未声明 XML 签名元素

我使用VisualStudioXML工具创建了XSD。我使用以下C#代码来验证XML并遇到此错误。错误Theelementisnotdeclared'http://www.w3.org/2000/09/xmldsig#:Signature'.所以我的问题是如何解决它,因为在编辑模式下XML是100%有效的?谢谢!C#privatevoidbuttonValidateXML_Click(objectsender,EventArgse){try{boolresult=IsValidXml2(textBoxSignedXML.Text,textBoxXSDFile.Text,"");rtbV

c# - xml签名DS前缀?

有没有一种方法可以使用RSA对XML文件进行签名并使用命名空间前缀“ds:Signature”而不是“Signature”?我花了很多时间试图解决这个问题,但据我所知,没有解决方案。它似乎是硬编码在类System.Security.Cryptography.Xml.Signature中。XmlElementelement=document.CreateElement("Signature","http://www.w3.org/2000/09/xmldsig#");如果有人知道解决方案,我需要像这样对其进行签名,因为导入它的软件会使用“ds:signature”对其进行验证,因此带有“

c# - 系统.Xml.XmlException : Unexpected end of file while parsing Name has occurred

我正在使用通过SqlCommand.ExecuteXmlReader检索的XmlReader。Hereismyinput当我运行这行代码时:XDocumentcurrentXDoc=XDocument.Load(ktXmlReader.ReadSubtree());它第一次工作,按预期读取第一个Product节点。第二次运行时,出现以下异常:System.Xml.XmlException:Message:UnexpectedendoffilewhileparsingNamehasoccurred.Line1,position2048.Stacktrace:atSystem.Xml.Xm

直接调用 XML 规范化算法与作为 xml 数字签名的一部分调用时相比,XML 规范化算法会给出两种不同的结果?

当我直接对某些xml进行规范化时,我得到了同一个xml文档的两个不同的哈希值,而不是当我对其执行数字签名时,后者在对xml进行哈希处理之前也对xml执行相同的规范化算法?我发现数字签名规范化在规范化时包括换行符'\n'和空格字符,而直接算法则不包括。虽然规范化规范中没有包含换行符+空格?我专门看这个版本http://www.w3.org/TR/2001/REC-xml-c14n-20010315有人知道这是怎么回事吗?我已经包括了xml文档和代码的两个实现,以便您可以看到。这真的让我感到困惑,我想知道为什么,我是否遗漏了一些明显的东西?sometext直接规范化代码usingSyste

xml - Oracle 能否在本地文件系统上使用 XSD 模式验证 XML?

我想问一个关于XML文档根据其相应的XML模式进行验证的问题,如果您能帮助我,我将不胜感激。实际上,我才刚刚开始学习XML模式(我完全是初学者)。我购买了PriscillaWalmsley撰写的“DefinitiveXMLSchema”一书(第2版),其中介绍了XMLSchema1.1(我相信这是最新版本)。现在的问题是,在本书的所有示例和练习中,架构文件的namespace和位置都是使用WebURL给出的。这是本书的一个例子:这是模式上面提到的要验证的XML内容是这个55710显然,[http://datypic.com/prod]是作者维护的站点,因此我在阅读本书时无法在该站点上添

javascript - 在浏览器中使用纯 Javascript 对 XML 进行签名

是否可以在浏览器中使用纯JavaScript对XML文档进行签名?我相信这里有严格的安全限制,但也许有某种方法可以做到这一点。 最佳答案 这是一个基于WebCrypto的解决方案-https://github.com/PeculiarVentures/xadesjs 关于javascript-在浏览器中使用纯Javascript对XML进行签名,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/ques

ruby - 如何在 ruby​​ 中进行 xml 签名

我需要使用ruby​​对xml进行签名,有人知道这方面的任何方法或库吗?我的xml骨架是:service1.0ServiceDescription4fromto2012-10-29??????????????????????????我为DigestValue尝试了这段代码并且我已经测试了它,将它与我的java示例进行了比较,但是DigestValue与我的java示例的响应不匹配:require'base64'require'openssl'to_sign_xml=File.read'service.xml'digest=OpenSSL::Digest::SHA1.digest(to_

.NET 签名 XML 前缀

有没有办法在签名的XML文档(.Net中的SignedXml类)的签名上设置前缀?所以代替:...我可以有以下内容:... 最佳答案 这是不可能的。如果您在签名后修改XML,可能无法对其进行验证,如上例所示。在我看来,这是MSFT数字签名实现中的一个缺陷,您将不得不忍受。很多人会说没有理由这样做,从技术上讲是正确的。但是当你与一个巨大的供应商(即州政府或银行)打交道时,祝他们好运,让他们最终改变它。大多数引用实现都包含它。更新:签名签署了SignedInfo元素中的所有内容,因此如果您在事后更新该元素,则签名将不再有效。您已“篡改”

xml - 使用或不使用断言签名签署 SAML 响应?

当签署一个SAML响应也有一个已签署的断言时,我应该:A)生成没有断言签名的响应签名。然后在生成两个签名后注入(inject)断言签名。B)生成断言签名并在生成响应签名时包含它。C)还有别的吗? 最佳答案 SAML太糟糕了,每次我阅读答案时它们几乎都是正确的,这里是提炼出的正确算法:SHA1断言的规范版本。生成带有SHA1签名的SignedInfoXML片段签署SignedInfoXML片段,同样是规范形式获取SignedInfo、Signature和key信息并创建一个SignatureXML片段将此SignatureXML插入到