问题标签 [xades4j]

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.

0 投票
1 回答
559 浏览

xpath - 使用 XAdES4j 通过 xpath 转换生成分离签名时出错

我正在使用 xades4j 来生成 xades 签名。我想在参考中包含 xpath 转换。我的问题是它是一个分离的签名并且 xpath 具有命名空间......

我尝试使用以下 xml(摘录):

如果我尝试使用以下代码对该文档进行信封签名:

它工作正常,参考如下所示:

但是,如果我尝试使用分离版本,请使用以下代码:

我收到错误:前缀必须解析为命名空间:t

我的问题类似于这里描述的问题:namespace and xpath 但是没有答案,我所拥有的有点不同。我邀请这个问题的答案可能对我有帮助......

那么,如何在 xades4j 中将命名空间设置为转换?

0 投票
1 回答
1230 浏览

xades4j - xades4j:如何在 signedproperties 参考中使用转换生成签名

我收到了一个示例 xades 签名,我必须使用 xades4j(“像模板”)来复制它。

示例签名是这样的(摘录):

我知道这个引用不符合 xades,因为那里没有属性 Type。

我的问题是该参考中的转换。我无法找到如何使用 xades4j 设置此选项。这可以做到吗?

另外,我不知道这是否有意义,因为在签名顶部,它说规范化方法是一种,然后在签名属性参考中它说规范化方法是另一种......我读对了吗?

0 投票
2 回答
733 浏览

xades4j - Xades4j 生成一个无效签名,signSigningCertificate 设置为 true,DataObjectFormatProperty

我有我的基本签名选项类:

我的签名代码是:

问题是:

输出签名包含以下内容:

当然,ObjectReference="#" 是不正确的。使用 xades4j 检查此签名会出错。

如果我删除数据对象格式或 signSigningCertificate 以返回 false 它可以工作,但是使用这两个选项我都会收到此错误。

有人可以证实这一点吗?我该如何解决这个问题?

0 投票
1 回答
411 浏览

xades4j - EnvelopedXmlObject 中的 Xades4j 和 Base64

我尝试将 Base64 字符串插入到 EnvelopedXmlObject 中的对象中:

当我在 file.xml 中运行此代码时,Object 的每一行都以“ ”结尾 导致解码文本错误

当我添加以下行时: Node node1 = document.createTextNode(generatedDocumentEncoded);

然后生成的文件就可以了-我的错误在哪里?:)

0 投票
1 回答
81 浏览

xades4j - 具有自定义承诺类型的 Xades4j

我需要设置海关承诺类型(当然是 xades4j)。

我看了一下lib,我觉得这是不可能的。
承诺类型是最终的。

我的解释正确吗?

在 xades4j 中扩展这种可能性是否有意义?

0 投票
1 回答
885 浏览

x509certificate - 将 2.5.4.5 oid 错误生成为 X509IssuerName,更改提案

我注意到使用 xades4j 进行 xades 签名时,元素 X509IssuerName 呈现格式错误的序列号颁发者值,它显示 PrintableString Hex 编码,我搜索 xades4j 代码,发现问题出在 DataGenBaseCertRefs 类中,如果您设置

cert.getIssuerX500Principal().getName(X500Principal.RFC1779)

进入 generate 方法,您可以解决此问题并从中获取颁发者值:

2.5.4.5=#130b3037393435323131303036

对此

OID.2.5.4.5=07945211006

0 投票
1 回答
87 浏览

xades4j - xades4j 对更改的建议

我有一份关于 xades4j 的建议清单。这些是 xades4j 可用性的微小变化。


  1. 类 DefaultTimeStampTokenProvider

应该可以覆盖方法getHttpConnection()。这是我的观点,但今天在许多企业中,IT 系统都在代理之后。因此,如果 getHttpConnection 可以有自定义实现,基本上是设置连接的不同方式,或者它可能是我目前没有想到的其他东西,它会更通用。


  1. 类对象标识符

我实现了 SignaturePolicyDocumentProvider。在此我使用哈希图来存储策略。为了让 getSignaturePolicyDocumentStream 方法正常工作,我必须将 hashCode() 和 equals() 方法添加到 ObjectIdentifier(eclipse 生成的代码)。


  1. 接口 KeyStoreKeyingDataProvider.SigningCertSelector

我在想象这样一个场景,我有一个密钥库,其中包含多个具有不同别名的私钥,然后我将使用 selectCertificate 根据别名选择正确的密钥。但是由于方法 selectCertificate 有一个 X509Certificates 列表作为输入,这是不可能的,我需要某种哈希图。因为作为一个List,很容易通过位置来获取,但是其他类型的逻辑就变得很难了。


想法?

0 投票
1 回答
3506 浏览

java - 使用 XADES4j 验证 XADES 签名

我们想创建一个验证“XADES”签名的 java web 应用程序,这个应用程序应该有两个文件:原始文件和他的分离签名。

我正在使用 XADES4j 库,这是一个很棒的项目。使用 XADES4j 是否可以在不验证 URI 文件参考的情况下验证签名?因为无法访问 xml 签名中的给定参考文件。

参考验证:我希望比较从给定的原始文件计算的摘要值和从签名文件中提取的摘要值。

这是例外

这是我用来验证 XADES 签名的源代码:

我是签名/验证开发的新手,我没有很好的经验。请帮忙

提前感谢您的帮助

0 投票
2 回答
1244 浏览

java - xades4j:只签署一个元素

我正在使用此代码签署 xml 文档:

xml_to_sign 是 xml 文件的完整路径。

问题是,我只想对 ID 为“data”(#data)的节点进行签名,但将签名附加到节点 elemToSign。

可以用 xades4j 做到这一点吗?

0 投票
1 回答
650 浏览

xades4j - 使用外部符号创建 xades.sign

我需要在 web 应用程序中安装 xades 库,这个 webapp 将使用远程签名证书生成 xades 文档。

此证书的私钥放置在远程 HSM 设备上,因此如果我必须签名(我的意思是生成摘要的 RSA),我需要将哈希传递给远程设备,这将生成 rsa 并将其提供到使用 xades4j 将创建 xades 结构的 webapp

你能告诉我 xades4j 是否已经可以做到这一点,如果不能,我如何为 xades4j 实现一种签名提供程序,将 RSA 的生产委托给远程设备?

谢谢