【发布时间】:2020-07-24 01:30:23
【问题描述】:
美好的一天。 我需要使用证书签署文档并在 PDF 中配置安全设置(不允许)。
帮助我了解如何更改值?
谢谢
这是一个示例代码:
...
PdfStamper stamper = PdfStamper.createSignature(reader, fout, '\0', new File(System.getProperty("java.io.tmpdir")), true);
PdfSignatureAppearance sigApp = stamper.getSignatureAppearance();
BaseFont bf = BaseFont.createFont("/resources/SDD.TTF", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
Font fnt = new Font(bf);
sigApp.setLayer2Font(fnt);
sigApp.setReason(reason);
sigApp.setLocation(location);
ExternalDigest digest = new BouncyCastleDigest();
PrivateKey key = provider.getPrivateKey(in.getCertificate());
ExternalSignature signature = new PrivateKeySignature(key, in.getAlgorithm(), provider.getProvider());
MakeSignature.signDetached(sigApp, digest, signature, certs, null, null, tsc, 0, MakeSignature.CryptoStandard.CADES);
此代码不适合我:
stamper.setEncryption("" .getBytes(), "" .getBytes(), PdfWriter.ALLOW_PRINTING | PdfWriter.ALLOW_COPY | PdfWriter.SIGNATURE_APPEND_ONLY, PdfWriter.ENCRYPTION_AES_128);
我发现只有这样一个选项 setEncryption(***)。但是这个函数会创建一个文件(PDF)。当我使用证书签名时,还会创建一个文件 (PDF),但没有安全参数。
【问题讨论】:
-
“在 PDF 中配置安全设置(不允许)” - 哪些设置应设置为“不允许”? “此代码不适合我” - 你的意思是它不适合你吗?它在哪个方面失败了?
-
我发现只有这样一个选项 setEncryption(***)。但是这个函数会创建一个文件(PDF)。当我使用证书签名时,还会创建一个文件 (PDF),但没有安全参数。我需要从允许更改为不允许:评论:不允许,表单字段归档:不允许
标签: security pdf itext document restriction