首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在CountersignedSignature中缺少xades4j类型

在CountersignedSignature中缺少xades4j类型
EN

Stack Overflow用户
提问于 2014-04-30 17:51:55
回答 1查看 256关注 0票数 3

我在与xades4j签署的文件中注意到,在对加签签名的引用中没有Type="..CountersignedSignature“。xades4j单元测试在document.signed.bes.cs.xml中也是如此。

另一方面,在xades4j.properties.CounterSignatureProperty中,我可以看到定义了以下属性:

代码语言:javascript
复制
public String COUNTER_SIGNATURE_TYPE_URI = "http://uri.etsi.org/01903#CountersignedSignature";

我如何才能强迫xades使用该属性?如果类型属性缺失,我在其他第三方软件中验证文档时会遇到问题。

我使用了用SignerBESTest编写的代码。

代码语言:javascript
复制
Document doc = getTestDocument();
Element elemToSign = doc.getDocumentElement();

XadesBesSigningProfile profile = new XadesBesSigningProfile(keyingProviderMy);
final XadesSigner counterSigner = profile.newSigner();
profile.withSignaturePropertiesProvider(new SignaturePropertiesProvider() {
@Override
public void provideProperties(final SignaturePropertiesCollector signedPropsCol) {
    signedPropsCol.addCounterSignature(new CounterSignatureProperty(counterSigner));
    signedPropsCol.setSignerRole(new SignerRoleProperty("CounterSignature"));
}
});
final XadesSignatureFormatExtender extender = new XadesFormatExtenderProfile().getFormatExtender();

final List<UnsignedSignatureProperty> unsignedProps = new ArrayList<UnsignedSignatureProperty>();
unsignedProps.add(new CounterSignatureProperty(counterSigner));

org.apache.xml.security.Init.init();
final Element sigElem = (Element) documentSource.getElementsByTagName("ds:Signature").item(0);
final XMLSignature xmlSig = new XMLSignature(sigElem, documentSource.getBaseURI());
extender.enrichSignature(xmlSig, new UnsignedProperties(unsignedProps));

提前感谢!

Edit1: --我将通过修改xades4j源代码来补充说,我知道解决方案,但是我更感兴趣的是一个只能在源代码中应用的解决方案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-05 18:12:15

XAdES规范定义了两种管理计数器签名的机制:

  1. 对任意签名使用Type属性
  2. 使用CounterSignature属性,它包含一个实际上是信封签名的计数器签名(包含在原始签名中)。

XAdES4j使用第二种方法,因此不包括Type属性。而且,也没有办法在API上强制它的存在。尽管如此,我可能会检查是否容易包含该属性。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23394852

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档