Itext对PDF文件数字签名出现签名后写入失败
KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
// 加载指定的密钥存储库
ks.load(new FileInputStream("C:/sddm.keystore"), "startdima"
.toCharArray());
// 获取私钥
PrivateKey key = (PrivateKey) ks.getKey("sddm", "startdima"
.toCharArray());
// 获取证书链别名
Certificate[] chain = ks.getCertificateChain("sddm");
reader = new PdfReader("C:/unsigned_message.pdf");
FileOutputStream os = new FileOutputStream("C:/signed_message.pdf");
PdfStamper stamper = PdfStamper.createSignature(reader, os, '\0');
PdfSignatureAppearance appearance = stamper
.getSignatureAppearance();
appearance.setCrypto(key, chain, null,
PdfSignatureAppearance.WINCER_SIGNED);
appearance
.setCertificationLevel(PdfSignatureAppearance.CERTIFIED_NO_CHANGES_ALLOWED);
appearance.setReason("BGL.Digital Signature ");
appearance.setLocation("AU");
stamper.getWriter().setCompressionLevel(5);
stamper.close();