Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java PDFbox如何创建PADES-LTV样本_Java_Pdf_Pdf Generation_Pdfbox_Pades - Fatal编程技术网

Java PDFbox如何创建PADES-LTV样本

Java PDFbox如何创建PADES-LTV样本,java,pdf,pdf-generation,pdfbox,pades,Java,Pdf,Pdf Generation,Pdfbox,Pades,我使用的是PDFBox 2.0,我想创建一个具有PADES-LTV格式的PDF,但我不想这样做。 我的问题是关于LTV参数部分以及何时应用 需要知道在什么位置添加,以及如何添加 如果你能指导我的话,我会把我的部分代码放进去,但我用的是在PDFBox上签名的例子 提前谢谢 public void signDetached(PDDocument document, OutputStream output, TSAClient tsaClient) throws IOExceptio

我使用的是PDFBox 2.0,我想创建一个具有PADES-LTV格式的PDF,但我不想这样做。 我的问题是关于LTV参数部分以及何时应用

需要知道在什么位置添加,以及如何添加

如果你能指导我的话,我会把我的部分代码放进去,但我用的是在PDFBox上签名的例子

提前谢谢

public void signDetached(PDDocument document, OutputStream output, TSAClient tsaClient)
        throws IOException
{
    setTsaClient(tsaClient);

    // create signature dictionary
    PDSignature signature = new PDSignature();
    signature.setFilter(PDSignature.FILTER_ADOBE_PPKLITE);
    signature.setSubFilter(PDSignature.SUBFILTER_ADBE_PKCS7_DETACHED);
    signature.setName("test PADES-LTV");
    signature.setLocation("Madrid, ES");
    signature.setReason("Testing");
    // TODO extract the above details from the signing certificate? Reason as a parameter?

    // the signing date, needed for valid signature
    signature.setSignDate(Calendar.getInstance());

    // register signature dictionary and sign interface
    document.addSignature(signature, this);

    // write incremental (only for signing purpose)
    document.saveIncremental(output);
}
我删除了第一个链接,因为它是在书店付款

我有这些信息,但没有如何应用PDFBox

根据ETSI TS 102 778-4 V1.1.2(2009-12),PDF的结构 应用LTV的文档如图2所示

图2:带有LTV的PDF文档插图

保护的使用寿命可以进一步延长到 通过添加更多DSS应用的最后一个文档时间戳的有效期 用于验证上一个文档时间戳的信息 具有新的文档时间戳。这如图3所示

图3:重复LTV的PDF文档说明

另一方面,根据Adobe(由他们的PDF编写) 福音传道者伦纳德·罗森托尔在一月份的iText邮件列表上 2013年)

启用LTV意味着验证文件所需的所有信息 (减去根证书)包含在中。那么你的这个声明 那是真的

PDF已正确签名,并包含所有必要的证书 每个证书的有效CRL或OSCP响应,但自 若要使这句话成为真的,那个么对于DSS的存在,你们必须 已启用LTV的DSS以显示。无时间戳(常规或文档) 级别)是必需的。由于这种差异,PDF文档与LTV 根据ETSI,通常由Adobe软件提供一个 未启用LTV的文档时间戳

参考(用于itext):


PADES-LTV格式-你的确切意思是什么?PAdES规范已有多代,早期的为ETSI TSs,较新的为ETSI ENs;较新的版本尤其包含多个LTV配置文件。例如,我不关心第一个ETSI TSs,但如果您能指导我找到第二个最佳的
ETSI TS 102 778-4 V1.1.2(2009-12)
已在今年早些时候作为PDFBox source code download.PADES-LTV格式中的
AddValidationInformation.java
示例的一部分实现-您的确切意思是什么?PAdES规范已有多代,早期的为ETSI TSs,较新的为ETSI ENs;较新的版本尤其包含多个LTV配置文件。例如,我不关心第一个ETSI TSs,但如果您能告诉我第二个最好的
ETSI TS 102 778-4 V1.1.2(2009-12)
已在今年早些时候作为PDFBox源代码下载中的
AddValidationInformation.java
示例的一部分实施。