国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

JSignPdf0.9.0批處理及用于Java web項目時的bug

2019-11-17 03:57:14
字體:
來源:轉載
供稿:網友
最近做的一個項目中客戶有個需求,要求對給他們的客戶下載的證書進行數字簽名。因此,項目中用到開源項目JSignPdf 0.9.0版(以下簡稱:J09)實現對pdf文件的數字簽名。在使用的過程中,發現了J09的一個bug。
J09聲稱在命令行模式(command line batch mode)下可以實現批處理操作,其中,有一個參數“-ka”用于指定密鑰文件(keystore file)中的密鑰別名(key alias),若不指定則默認取文件中的第一個密鑰。
環境:密鑰文件使用Adobe pdf Reader 9生成,類型為PKCS12(.pfx文件);后面說的java web項目基于Struts2 + SPRing框架,將J09的入口類Signer做簡單修改后作為Action類的成員變量,模擬命令行參數實現對pdf文件進行數字簽名。
問題:當執行批處理(參數中有多個待簽名pdf文件),同時又指定了“-ka”參數(如“-ka 1”,此時理論上應該和不指定該參數是一樣的,但實際上不一樣)時,對第一個pdf文件簽名一切正常,到第二個的時候就拋出如下異常
java.lang.NullPointerException
        at com.lowagie.text.pdf.PdfPKCS7.<init>(Unknown Source)
        at com.lowagie.text.pdf.PdfSigGenericPKCS.setSignInfo(Unknown Source)
        at com.lowagie.text.pdf.PdfSignatureAppearance.preClose(Unknown Source)
        at com.lowagie.text.pdf.PdfSignatureAppearance.preClose(Unknown Source)
        at com.lowagie.text.pdf.PdfStamper.close(Unknown Source)
        at net.sf.jsignpdf.SignerLogic.run(SignerLogic.java:168)
        at net.sf.jsignpdf.Signer.signFiles(Signer.java:120)
        at net.sf.jsignpdf.Signer.main(Signer.java:68)
而只有不指定“-ka”參數時,才能實現真正的批處理操作。因此,要想實現批處理,一定不能指定-ka參數,此時意味著密鑰文件中只能有一個密鑰(嚴格地說應該是只能使用密鑰文件中的第一個密鑰)。

以上是在Windows命令行下直接使用其jar包的情況。而當把J09源碼用于應用了Struts2+Spring框架的Java web項目時(Spring 版本2.5,對于其他情況,本人沒有實踐無發言權),則無論如何一定不能指定“-ka”參數,否則即使一次只簽名一個文件,到第二次簽名操作時,一定會拋出上述異常,即使每次操作都將整個類重新new一個也無法幸免!(呵呵,如果不嫌麻煩,每簽名一次就將項目重啟一次,這


本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/notjusttech/archive/2009/12/17/5028184.aspx
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鹿邑县| 鄂温| 曲水县| 崇礼县| 花莲市| 民权县| 深泽县| 体育| 颍上县| 筠连县| 梨树县| 平潭县| 洛阳市| 太仆寺旗| 江源县| 富源县| 肇源县| 荣成市| 社会| 那坡县| 新巴尔虎左旗| 吉隆县| 军事| 当雄县| 甘肃省| 汉阴县| 徐水县| 河间市| 波密县| 沙洋县| 富顺县| 扶绥县| 济南市| 石台县| 东宁县| 深圳市| 永平县| 嫩江县| 北辰区| 深泽县| 轮台县|