本指南針對已經購買了WoSign/Thawte/VeriSign 微軟代碼簽名證書,還需要用此代碼簽名證書來簽名Java JAR文件而編寫,如果您還沒有簽名工具,請到SUN公司網站免費下載: http://java.sun.com/j2se/ ,推薦下載JDK1.4.2或以上版本,支持Solaris SPARC/x86, Linux86 和 Windows 操作系統。請注意:WoSign微軟代碼簽名證書僅支持J2SE 1.5.008以上版本。
第1步 把 .pvk 和 .spc 轉換為 .pfx格式
您在申請微軟代碼簽名證書時已經成功生成了私鑰文件mycert.pvk,也得到了代碼簽名證書(公鑰) mycert.spc,您需要把此兩個文件轉換為一個PKCS12格式的文件mycert.pfx,具體轉換步驟如下:
??? (1) 下載微軟的轉換工具軟件: pvkimprt.rar ,并成功安裝;
??? (2) 請確認您電腦上已經安裝了頒發代碼簽名證書的中級根證書,如果沒有,請先點擊安裝:
???????? WoSign中級根證書為: WoSign Code Signing Authority
???????? Thawte中級根證書為: Thawte Code Signing CA
???????? VeriSign中級根證書為: VeriSign Class 3 Code Signing 2004 CA??????????
??? (3) 在 DOS 狀態下,進入保存兩個簽名證書文件 mycert.pvk 和 mycert.spc 的目錄,請鍵入命令:
??????? pvkimprt mycert.spc mycert.pvk
???? 按提示輸入私鑰密碼后,啟動證書導入過程,按幾個回車就成功把證書導入到 Windows 證書存儲區,在 IE 瀏覽器的 “工具” — “ Internet 選項” — “內容” — “證書” — “個人”中就能看到您的簽名證書,再點擊“導出”就可以得到包含有簽名證書公鑰和私鑰的 .pfx 格式證書。
???? 請注意:在導出時要選中“如果可能,將所有證書包括到證書路徑中”,并建議選中“如果導出成功刪除密鑰”以防止被他人非法導出。如果還需要導入使用,則再導入即可,此時導入的缺省是“不允許導出私鑰”,從而保證了簽名證書的安全。
???? 請注意: pvkimprt 工具不支持跨操作系統,也就是說,如果您是在 Windows 2000 操作系統上生成的私鑰文件 .pvk 的,則只能在 Windows 2000 操作系統中使用 pvkimprt 工具。
?
第2步 把PFX格式簽名證書導入Keystore
首先,請使用以下命令檢查您的開發工具中的Keytool是否能讀出PFX格式證書,請注意輸入keytool.exe 和 mycert.pfx 兩個文件的正確路徑(以下命令都在JDK\BIN目錄中):
??? keytool -list -storetype pkcs12 -keystore mycert.pfx
如下圖1所示,會提示您輸入私鑰密碼,顯示您的Keytool可以讀出此PFX格式證書。請注意下面的第2條紅線顯示的內容為您的簽名證書的別名,下面簽名時需要輸入此別名。
(3) 數字簽名Applet
使用jarsigner簽名您的JAR文件:
??? jarsigner -storetype pkcs12 -keystore mycert.pfx myjar.jar keyentry_friendly_name
請注意:命令行的最后一個參數是 keyentry_friendly_name(證書別名,或稱:證書好記的名字,如果您的證書有一個別名,則輸入此別名,如果沒有,則為缺省的一串字符,如下圖2所示,會提示您輸入私鑰密碼,簽名成功后沒有任何提示:
(4) 驗證簽名
使用以下命令驗證已經簽名的JAR文件:
jarsigner -verify -verbose -certs myjar.jar
如下圖3所示,會顯示簽名證書所有信息,包括軟件發行商的名稱(CN=,圖中紅色畫線部分)、證書頒發機構的中級根證書和頂級根證書,在最后面會顯示“已驗證簽名”和“jar已驗證”。
一旦成功簽名,就可以把已經簽名的JAR文件放到網上供用戶下載了,用戶端的Java系統會顯示您的簽名證書信息,如果已經簽名的文件被篡改或損壞,則系統會提醒用戶并拒絕安裝。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
