问题标签 [xml-signature]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 使用 SignedXml 类添加基于 Id 属性的引用时出现“格式错误的引用元素”
当存在命名空间前缀时,无法通过 Id 属性对元素进行签名:
ComputeSignature()
此处将因“格式错误的参考元素”而失败,该怎么做?
java - 使用 XPATH 创建的 XML 数字签名不断向每个节点添加架构定义
我有一个简单的 XML,我使用 XPATH 查询对 XML 进行了签名,例如 //*[@isDigSignReqd = 'true']。现在,签名的 XML 包含如下属性
xmlns="http://www.xyze.org/xservice" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
连接到每个节点。XML 签名验证发生得很好。但是,我可以删除这些属性吗?我对 XML 签名和所有这些都很陌生。请帮忙。
这就是 XML 的样子(部分)
变换是这样创建的。
xml - 在 Java 中管理 XAdES 签名的库
我正在寻找一个允许创建和验证 XAdES 签名的 Java 库(格式越多越好:XAdES-BES、XAdES-C、XAdES-XL 等)。
我发现的最有趣的实现是:
- Java XML 数字签名 API (JSR 105)(= Java SE 6 中包含的一种),它基于以下一种;
- Apache Santuario ( http://santuario.apache.org/ ),它只为基本功能提供有用的支持;
- XAdES4j(http://code.google.com/p/xades4j/,很好的演示:http ://prezi.com/06vyxbgohncv/xades4j-en/ ),这似乎很有趣,因为它“能够生产、验证和扩展主要 XAdES 形式的签名:XAdES-BES、XAdES-EPES、XAdES-T 和 XAdES-C。此外,通过丰富现有签名支持扩展形式。然而,它是一个系统的结果,它只有一个开发人员跟随;
- eID 数字签名服务 ( http://code.google.com/p/eid-dss/ ),由比利时联邦 ICT 部门开发,支持 XAdES-XL 格式。
您会建议使用或构建哪一个?
c# - Java 等效于 C# XML 签名方法
我编写了以下 .NET Framework 3.5 C# 方法,该方法获取 XML 文档的位置和 X509 数字证书(带有私钥)的对象表示,并将 XML 文档作为嵌入了 XML 签名 (XMLDsig) 的对象返回作为根的第一个子元素。
问题是我迫切需要能够使用 Java SE 6 执行完全相同的过程,但是我已经很久没有编写任何 Java 并且不知道从哪里开始。
任何人都可以在 Java 代码中提供产生完全相同的XML 输出的等效方法吗?
ios - 将 XML Dsig 格式转换为 DER ASN.1 公钥
我正在开发一个 iPhone 应用程序,该应用程序以以下形式从 ASP.NET Web 服务中检索 RSA 公钥:
然后我需要将此响应转换为NSData *
适当的格式(来自一些激烈的谷歌搜索,很可能是“ASN.1 DER”二进制格式。我已经准备好将这两个部分从它们的 Base64 表示形式转换为原始二进制值的代码,但我终其一生都无法找到一种合理的方法来创建一体式二进制密钥。
等待key的代码是来自Apple的示例项目-addPeerPublicKey:(NSString *) keyBits:(NSData *)
的类的方法(代码在这里)。SecKeyWrapper
CryptoExercise
我很乐意以另一种方式实现这一点——我只需要加密一个字符串(不需要解密)。不过,据我所知,如果我能缩小这种格式差距,内置的安全框架就可以满足我的需求。如果有一种方法可以转换密钥并从 Web 服务发送 Base64 编码的密钥,那也适用于我——但我也找不到任何 ASN.1 编码的方法。
c# - SignedXml 的自定义命名空间问题
当我签署包含命名空间前缀和命名空间引用的 XML 文档然后对其进行验证时,就会出现问题。在这种情况下,验证总是失败(返回 false)。当我从 XML 中删除命名空间前缀和命名空间引用时,签名和验证工作正常。
你可以帮帮我吗 ?
这是我的代码:
从 SignedXml 继承的类
签署xml的类
在这里我调用签名方法
并用于验证
这是我签名的xml
预先感谢您!
c# - X509Certificate 和 XmlDsig
我需要在 C#(4.0)中使用 X509Certificate(应验证签名的人提供的 .p7b 文件)签署 XML(XMLDSig 信封) 我没有安全经验,我的知识仅限于一些基本概念关于密码学。
这是我所做的:
1)我已将证书安装在:证书 - 当前用户 - 受信任的根证书。
2)从.net我成功地用这个代码加载了证书:
3)我尝试使用证书的公钥用以下代码创建签名;
但是在计算签名时出现异常:“对象仅包含密钥对的公共部分。还必须提供私钥。”
我检查了证书中的 HasPrivateKey 属性,它是错误的。我的(基本)理解是我不应该拥有私钥,我应该能够使用公钥创建签名。
我错过了什么?
提前致谢
digital-signature - XML 数字签名证书
我想知道我需要从证书颁发机构获得哪种类型的证书才能在 .NET 中签署 XML 文档 (XML-DSIG)?我应该获得 SSL 证书吗?
我们有一张 xml 电子发票,我们需要使用数字证书对其进行签名。
有什么想法吗?
digital-signature - 使用公钥验证分离的 xml 签名
我想使用公钥验证分离的 XML 签名。
我尝试过使用 gpg 和 openssl 但没有成功。任何人都可以向我提供使用公钥进行验证的步骤。
xml - 如何在 iOS 应用程序中验证 XML 签名?
我正在从事的一个 iOS 项目让我进入了 XML 数字签名的世界;我需要验证 SAML 断言的数字签名。
我已经阅读了很多关于验证 XML 签名的内容,并且我想我了解了它如何使用私钥对摘要进行签名,并且我可以使用公钥(它应该在包含的 x509 证书中)来验证它,所以我可以确定 SAML 令牌的来源。
我找到了一个 C 库xmlsec,它看起来有很多我需要验证签名的代码,并且一直在努力实现它。但是,我一直无法弄清楚。据我了解,我很确定我必须用我的代码编译库。我已将源代码复制到我的项目中,但在编译过程中出现关于未定义事物的错误。
在我花费无数小时沿着这条道路前进之前,我想我会联系社区,看看是否有人有验证 xml 数字签名的经验,以及他们是否可以就在 iOS 项目中实现它提供见解。
对于它的价值,这是我从单点登录服务获得的 SAML 断言的一部分: