1

大家好,提前感谢您的帮助。

我的目标是让两个或更多不同的人逐步处理文档:

  • 第一个将创建 xml,只编译文档的一小部分(根据他的角色),然后只对他编译的内容进行签名。

  • 第二个将从第一个人那里获取文档并编译他的小节,而不修改第一个人写的任何内容。然后他将添加他的签名,在他的小节和第一个人的一个上签名。

  • 等等...

我该怎么做?根据标准,XAdES 特定的 xml 元素(例如用于签名的证书的 ID)都在<object>元素内部(在signed properties 子元素中),这在我看来意味着只有一个人可以对对象进行签名(即文件)一次,而不必覆盖签名数据。

我错了吗?如果有一种我没有考虑过的方法,有人可以帮助我理解吗?

谢谢,

一个。

4

2 回答 2

1

我的2美分...

这看起来是使用反签名的案例。

  • 为确保仅对文档的某些部分进行签名,您必须使用参考中的 xpath 转换器。

  • 第二个人将对之前的签名进行反签名,并且您可能还需要添加引用(xpath?)他编辑的新部分。

你有一些研究要做...

链接到来自 xades4j 的计数器签名示例: https ://github.com/luisgoncalves/xades4j/blob/master/src/test/xml/document.signed.bes.cs.xml

编辑:

参见 xades 规范:ETSI TS 101 903 V1.4.2 (2010-12) http://www.etsi.org/deliver/etsi_ts%5C101900_101999%5C101903%5C01.04.02_60%5Cts_101903v010402p.pdf 参见第 7.2.4 章和附件C。

答案 1) 我会说是的,正如规范所说:“应用程序可以添加其他 ds:Reference 元素,这些元素引用先前存在的 CounterSignature 元素的 ds:SignatureValue 元素。这允许构建任意长的显式副署链。”

答案 2) 好吧,我想这是你的决定……关于副署,他们说:“这个定义的唯一目的是作为一个简单的识别签名作为实际上是副署。” 因此,如果您决定更容易(在此处添加对您有意义的原因......)将其作为签名而不是作为副署,您可以。

于 2015-12-16T08:53:39.443 回答
0

我不认为在会签元素内有更多引用是可能的,因为对我来说,会签是以前制作的签名上的签名,但标准并没有禁止它,也许你是对的。谢谢你。

其他考虑因素,只是为了确保我理解正确 1)随着会签人数的增加,将需要嵌套会签元素,这对于 ETSI 标准是可以的 2)为什么会创建会签元素?是否不可能在同一个容器节点内创建更多的签名元素,这些元素相互引用并通过引用元素引用感兴趣的文本部分?我正在考虑您发布的示例,其中数据元素在内部附加并且只有一个签名:添加更多具有正确引用的签名元素将使我能够获得相同的行为,或者存在我没有的限制确定?

谢谢大家的贡献。

编辑:

回答 1) 我会说是的,正如规范所说:“应用程序可以添加其他 ds:Reference 元素,这些元素引用先前存在的 CounterSignature 元素的 ds:SignatureValue 元素。这允许构建任意长的显式副署链。”

答案 2) 好吧,我想这是你的决定……关于副署,他们说:“这个定义的唯一目的是作为一个简单的识别签名实际上是副署。” 因此,如果您决定更容易(在此处添加对您有意义的原因......)将其作为签名而不是作为副署,您可以。

请参阅 xades 规范:ETSI TS 101 903 V1.4.2 (2010-12) http://www.etsi.org/deliver/etsi_ts%5C101900_101999%5C101903%5C01.04.02_60%5Cts_101903v010402p.pdf

参见第 7.2.4 章和附录 C。

于 2015-12-17T11:05:04.757 回答