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

问题描述

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(pdfSrcpdfPassword.getBytes()); //         FileOutputStream fout = new FileOutputStream(new File(donePdfSrc));        PdfStamper stp = PdfStamper.createSignature(reader fout ''nullfalse);        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_HBaseFont.NOT_EMBEDDED);//        Font fontChinese = new Font(bfChinese12Font.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(keySHA-256""BC"");        ExternalDigest digest = new BouncyCastleDigest();        MakeSignature.signDetached(sap digest es chain null null null 0 CryptoStandard.CMS);

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

解决方案

http://bbs.csdn.net/topics/390166269

时间: 2024-10-29 09:44:49

itext签名后不执行签名域属性怎么解决?的相关文章

Android 的apk重新打包签名后,安装成功后,手机中转屏(横竖屏切换)软件强行自动关闭了

问题描述 Android 的apk重新打包签名后,安装成功后,手机中转屏(横竖屏切换)软件强行自动关闭了 Android 的apk重新打包.签名后,安装成功后,手机中转屏(横竖屏切换)软件强行自动关闭了什么情况,我用apktool打包签名的. 解决方案 最好是接上调试,看看出错时的 logcat 的输出.如果是所有手机都出错,还比较好解决的,就怕重现不了. 解决方案二: 这种情况应该是不支持或不兼容. 解决方案三: activity在转屏的时候会执行onResume(),你可能是有一些变量在转屏

app-APP签名后安装报错“解析程序包时出现错误”

问题描述 APP签名后安装报错"解析程序包时出现错误" 今天升级应用时,被告之签名发生变化--要知道我根本没有做过相关的任何操作,即使有签名也一定是MyEclipse帮我做的,而我对此一无所知.在网上查了一下,感觉还是有很多问题没有答案,所以问一下: 1.我之前生成的应用,发布了,现在我的笔记本换了,各应用包括Java.SDK.ADT等也换了.只有SDK和ADT.所有源码有备份,不知道还是否可以得到原应用文件的相关签名文件,包括如果存在的密钥或密码? 2.如果还有办法得到,应该也有办法

java用md5加密同一个签名后结果不一样??

问题描述 java用md5加密同一个签名后结果不一样?? 需要验证签名是否一样,用md5加密后得到的签名跟对方报文中传过来的加密后的签名不一样?? 解决方案 用winmd5之类的软件算下,看下你的程序和标准的是否一致,特别注意你的文件流的读取,还是按照文本文件读取的. 解决方案二: 你确定对方加密的时候也是JAVA加密的吗?C#,JAVA等不同的语言加密有时候是不一样的 解决方案三: 可能是编码类型的问题 解决方案四: 确定双方使用的版本,与加密过程是一样的.否则,产生不一样的结果很正常. 解决

itext获取pdf模版表单域对齐方式

问题描述 itext获取pdf模版表单域对齐方式 PDF模版中有个AcroFields(表单域)该表单域的名字为:address ,在模版中设置该表单域的对齐方式为:居左,现在想在java 代码中通过itext获取表单域名字为address的对齐方式属性该怎么做

如何在aspx网页加载好后自动执行一段代码?

问题描述 如何在aspx网页加载好后自动执行一段代码? 我想在我的网页加载好后,自动执行一段代码,是根据登录的用户,来设置元素的属性,需要aspx先把页面加载好后再执行,How to do? 解决方案 window.onload=function(){ alert('window ready'); //your code.... }</script>

Android的APK应用签名机制以及读取签名的方法_Android

发布过Android应用的朋友们应该都知道,Android APK的发布是需要签名的.签名机制在Android应用和框架中有着十分重要的作用.例如,Android系统禁止更新安装签名不一致的APK:如果应用需要使用system权限,必须保证APK签名与Framework签名一致,等等. 什么是签名首先我们得知道什么是摘要,摘要是指采用单向Hash函数对数据进行计算生成的固定长度的Hash值,摘要算法有Md5,Sha1等,Md5生成的Hash值是128位的数字,即16个字节,用十六进制表示是32个

适配器notifyDataSetChanged()后不执行Getview()方法

问题描述 适配器notifyDataSetChanged()后不执行Getview()方法 如题,就是我的listview适配器notifyDataSetChanged()后不执行Getview()方法 解决方案 getcount方法有返回值,就是Getview方法不执行 解决方案二: listview界面没更新 解决方案三: 适配器中的getView方法在适配器中,何时调用getView()方法?对于适配器ArrayAdapter中getView方法重写 解决方案四: 新手一枚,有木有帮忙解答

理解.Net中带out、ref的方法签名和普通方法签名的区别

今天有位新同事问我.Net中带out.ref的方法签名和普通方法签名的有什么区别?我觉得可以从下面的例子说明一些关键的地方. 一.ref/out修饰符说明 对于用ref/out修饰符的说明在MSDN上有详细的说明,地址如下: http://msdn.microsoft.com/en-us/library/t3c3bfhx(VS.80).aspx. 二.透过IL代码观察ref/out修饰的方法签名(以值类型为例) 1.示例代码: using System; namespace ConsoleMai

jQuery表单域属性过滤器用法分析

 这篇文章主要介绍了jQuery表单域属性过滤器用法,实例分析了:checked.:enabled.:disabled:.selected等常用表单域属性过滤器使用技巧,需要的朋友可以参考下     本文实例讲述了jQuery表单域属性过滤器用法.分享给大家供大家参考.具体分析如下: 表单内包含各种各样的表单域,使用表单域属性选择器可以很好的获取已被选中的单选按钮,复选框以及列表项,也可以根据是否可用从文档中查找表单域. 1. :checked选择器 用于选择所有被选中的表单域.格式: 代码如下