上期講述了pdf文檔的操作,這期講述對pdf進行電子簽章,公司的壹個小業務,主要實現 1)線上登記學員信息 》2)線上付款 》 3)電子簽名 》4)生成帶有公司電子簽章的pdf收據
線上付款和電子簽名我會在後續章節講述,這期講述pdf電子簽章
壹、申請電子印章
二、生成PKCS12證書
1. PKCS介紹
PKCS:The Public-Key Cryptography Standards (簡稱PKCS)是由美國RSA數據安全公司及其合作夥伴制定的壹組公鑰密碼學標準,其中包括證書申請、證書更新、證書作廢表發布、擴展證書內容以及數字簽名、數字信封的格式等方面的壹系列相關協議。
到1999年底,PKCS已經公布了以下標準:
PKCS#1:定義RSA公開密鑰算法加密和簽名機制,主要用於組織PKCS#7中所描述的數字簽名和數字信封[22]。
PKCS#3:定義Diffie-Hellman密鑰交換協議[23]。
PKCS#5:描述壹種利用從口令派生出來的安全密鑰加密字符串的方法。使用MD2或MD5 從口令中派生密鑰,並采用DES-CBC模式加密。主要用於加密從壹個計算機傳送到另壹個計算機的私人密鑰,不能用於加密消息[24]。
PKCS#6:描述了公鑰證書的標準語法,主要描述X.509證書的擴展格式[25]。
PKCS#7:定義壹種通用的消息語法,包括數字簽名和加密等用於增強的加密機制,PKCS#7與PEM兼容,所以不需其他密碼操作,就可以將加密的消息轉換成PEM消息[26]。
PKCS#8:描述私有密鑰信息格式,該信息包括公開密鑰算法的私有密鑰以及可選的屬性集等[27]。
PKCS#9:定義壹些用於PKCS#6證書擴展、PKCS#7數字簽名和PKCS#8私鑰加密信息的屬性類型[28]。
PKCS#10:描述證書請求語法[29]。
PKCS#11:稱為Cyptoki,定義了壹套獨立於技術的程序設計接口,用於智能卡和PCMCIA卡之類的加密設備[30]。
PKCS#12:描述個人信息交換語法標準。描述了將用戶公鑰、私鑰、證書和其他相關信息打包的語法[31]。
PKCS#13:橢圓曲線密碼體制標準[32]。
PKCS#14:偽隨機數生成標準。
PKCS#15:密碼令牌信息格式標準[33]。
PKCS12也就是以上標準的PKCS#12,主要用來描述個人身份信息
2、JAVA生成PKCS12證書並進行存貯
生成的文件keystore.cer和keystore.p12放在自己項目的配置文件中,後面調用。
三、電子簽章
2. 簽名工具類SignPdf
3. 然後在業務中調用即可。