Mocking_Doggy 2015-12-23 05:45 采纳率: 0%
浏览 2616

itext签名后不执行签名域属性怎么解决?

通过手动签名以后可以正常执行签名域的属性图片说明但是通过代码完成签名以后,签名属性不能执行。标记的只读的域还是能操作。
代码如下

    KeyStore ks = KeyStore.getInstance("pkcs12");
        ks.load(new FileInputStream(certSrc), certPassword.toCharArray());
        String alias = (String) ks.aliases().nextElement();
        PrivateKey key = (PrivateKey) ks.getKey(alias, certPassword.toCharArray());
        Certificate[] chain = ks.getCertificateChain(alias);
        PdfReader reader = new PdfReader(pdfSrc,pdfPassword.getBytes()); // 
        FileOutputStream fout = new FileOutputStream(new File(donePdfSrc));
        PdfStamper stp = PdfStamper.createSignature(reader, fout, '\0',null,false);
        PdfSignatureAppearance sap = stp.getSignatureAppearance();
        sap.setReason(reason);
        sap.setLocation(location);
        Image image = Image.getInstance(imageSrc);
        sap.setSignatureGraphic(image);
        String url = SignPDF.class.getResource("simsun.ttc").toString()+",0";
        BaseFont bfChinese = BaseFont.createFont(url.toString(),BaseFont.IDENTITY_H,BaseFont.NOT_EMBEDDED);//
        Font fontChinese = new Font(bfChinese,12,Font.NORMAL);
        sap.setLayer2Font(fontChinese);//
        sap.setLayer2Text(reason);//
        sap.setLayer4Text("setLayer4Text");//
        sap.setRenderingMode(RenderingMode.GRAPHIC_AND_DESCRIPTION);
        sap.setVisibleSignature(fieldName);
        stp.getWriter().setCompressionLevel(5);
        Security.addProvider(new BouncyCastleProvider());
        ExternalSignature es = new PrivateKeySignature(key,"SHA-256","BC");
        ExternalDigest digest = new BouncyCastleDigest();
        MakeSignature.signDetached(sap, digest, es, chain, null, null, null, 0, CryptoStandard.CMS);

有没有哪个大神帮忙解答下,

  • 写回答

2条回答 默认 最新

  • devmiao 2016-02-06 22:06
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 关于#python#的问题:自动化测试