首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用脱机签名和OCSP响应创建PADES

如何使用脱机签名和OCSP响应创建PADES
EN

Stack Overflow用户
提问于 2018-09-11 12:09:56
回答 1查看 1K关注 0票数 4

我很难从文档和源代码中找到Esig java套件。(eu.europa.esig.dss.* tree)

我们连接到瑞典BankID签署PDF和简单的纯文本。response是带有签名字段和OCSP响应的SOAP。

最终目标是将这两个部分组合成一个单独的对象“一个有效的签名”,可以嵌入到PDF中(使用DSS和PDFbox)。

BankID Soap字段的内容似乎为决策支持系统工具提供了正确的格式:

可以将签名加载到

代码语言:javascript
复制
DSSDocument sigDoc = new InMemoryDocument(xmlSignature)
SignedDocumentValidator documentValidator = SignedDocumentValidator.fromDocument(sigDoc);
// ...
AdvancedSignature advancedSignature = documentValidator.getSignatures().get(0);

并且OCSP响应可以用

代码语言:javascript
复制
ExternalResourcesOCSPSource source = new ExternalResourcesOCSPSource(ocspBytes);
BasicOCSPResp basicOCSPResp = source.getContainedOCSPResponses().get(0);

我可以打印各种信息,从对象,找到嵌入式证书等,所以格式似乎是合法的。

问:如何从OCSPToken中获得有效的ExternalResourcesOCSPSource?

我一直在循环运行,试图将两者合并到一个AdvancedSignature中(如果这就是我可以用来嵌入到一个PDF中的话)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-12 19:59:08

由第三个系统提供的高级数字签名不能用于创建有效的签名PDF

PAdES签名总是被封装在PDF文档中,因此签名服务不可能返回被决策支持系统认为有效的独立PAdES签名。

它可能在SOAP消息中提供了一个独立的CAdES或XAdES签名,可以由决策支持系统处理(决策支持系统提供了一个高级API来使用XAdES、CAdES、PAdES和aSiCS格式对文档进行签名)。

这两种格式都支持嵌入OCSP响应,但它也需要添加一个TimeStamp,这使得构建最终格式更加困难。这可能是在SOAP消息中使用自定义字段返回OCSP响应的原因。

XAdES和PAdES在概念上相似,但在结构上不同。XAdES签名是XML,PAdES是二进制签名。XML签名不能转换为PAdES。

PAdES和CAdES使用CMS,它们都是二进制的,并且使用ASN.1语法。但是签名消息是不同的,CAdES签名是在整个文档(和一些属性)上计算的,而PAdes使用的是PDF文档的某些数据。因此,cades签名也不能转换为PAdes。

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

https://stackoverflow.com/questions/52275630

复制
相关文章

相似问题

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