給ActiveX簽名的實現方法詳解

來源:互聯網
上載者:User

給AcitveX簽名有很多種方式,現介紹我所瞭解的幾種:
以下用到的工具請在http://ftp.intron.ac/pub/security/下載authenticode.zip檔案
一,使用微軟的工具不採用私密金鑰檔案
1.製作根憑證
makecert -sk "myPK" -ss mySSName -n "CN=公司名稱" -r myroot.cer
sk-表示主題的密鑰容器位置,ss-主題的憑證存放區名稱, n-憑證發行對象,r-憑證存放區位置;
2.製作子認證
makecert -sk "myPK" -is mySSName -n "CN=公司名稱" -$ commercial -ic myroot.cer test.cer
sk-表示主題的密鑰容器位置,is-頒發者的憑證存放區名稱, n-憑證發行對象,ic-頒發者的憑證存放區位置,-$-授權範圍(用於程式碼簽署);
3.使用Cert2Spc產生spc發行者認證
cert2spc test.cer test.spc
4.使用signcode為你的程式,庫或cab包簽名:
雙擊signcode,或在控制台鍵入signcode,不帶參數會啟動簽名嚮導。在第三步選擇“自訂選項”,第四步選擇“從檔案選擇”選擇test.spc或test.cer,第五步選擇“CSP中的私密金鑰”,在密鑰容器中選擇我們定義的myPK,其他步驟預設即可,如果想新增時間戳記,請在時間戳記伺服器位址上鍵入:(免費時間戳記認證)
http://timestamp.wosign.com/timestamp
完成後,觀察你所簽名的檔案屬性,應該已經添加數位簽章項。
5.將myroot.cer匯入“可信任的根憑證授權單位”,使用chktrust測試剛才的檔案是否簽名成功
二,使用微軟的工具採用私密金鑰檔案
1.製作根憑證
makecert -sv "myroot.pvk" -ss mySSName -n "CN=公司名稱" -r myroot.cer
sv-私密金鑰檔案名稱,ss-主題的憑證存放區名稱, n-憑證發行對象,r-憑證存放區位置;
2.製作子認證
makecert -sv "test.pvk" -iv myroot.pvk -n "CN=公司名稱" -$ commercial -ic myroot.cer test.cer
sv-私密金鑰檔案名稱,iv-根憑證的私密金鑰檔案, n-憑證發行對象,ic-頒發者的憑證存放區位置,-$-授權範圍(用於程式碼簽署);
3.使用Cert2Spc產生spc發行者認證
cert2spc test.cer test.spc
4.使用signcode為你的程式,庫或cab包簽名:
雙擊signcode,或在控制台鍵入signcode,不帶參數會啟動簽名嚮導。在第三步選擇“自訂選項”,
第四步選擇“從檔案選擇”選擇test.spc或test.cer,
第五步選擇“檔案中的私密金鑰”選擇test.pvk,其他步驟預設即可,如果想新增時間戳記,請在時間戳記伺服器位址上鍵入:(免費時間戳記認證)
http://timestamp.wosign.com/timestamp
完成後,觀察你所簽名的檔案屬性,應該已經添加數位簽章項。
用命令方式:signcode -spc test.spc -v test.pvk -n test的軟體 test.cab
注意:用signcode.exe簽署自己的軟體。假如是.cab檔案,需要在用cabarc.exe製作的時候
用-s參數留出簽名的空間(一般6144位元組即可)。
5.將myroot.cer匯入“可信任的根憑證授權單位”,使用chktrust測試剛才的檔案是否簽名成功
三,使用openssl產生根憑證
1.用openssl建立CA認證的RSA密鑰(PEM格式):
openssl genrsa -des3 -out ca.key 1024
2.用openssl建立CA認證(PEM格式,假如有效期間為一年):
openssl req -new -x509 -days 365 -key ca.key -out ca.crt -config openssl.cnf
openssl是可以產生DER格式的CA認證的,很奇怪Windows卻說那認證是“無效的”,
無奈,只好用IE將PEM格式的CA認證轉換成DER格式的CA認證。
3.將ca.crt匯入至IE中。
匯入時注意一定要將憑證存放區至“本機電腦”。
具體步驟如下:
1)在“我的電腦”或“資源管理員”裡雙擊該檔案表徵圖。
2)在“常規”卡片上選擇“安裝認證”。
3)點“下一步”至“認證匯入嚮導”,選擇“將所有的認證放入下列儲存區”,
點下面的“瀏覽”。勾上“顯示實體儲存體區”。選擇“受信任的根目錄...”下一級的
“本機電腦”。點“確定”,再點“下一步”。
4)點“完成”。
可以檢查一下匯入是否完全成功:
在IE的Internet選項中的“認證”中“受根信任憑證授權單位”中應該可以
看見上述的根憑證。
4.IE的Internet選項中的“認證”中“受根信任憑證授權單位”中將剛才
匯入的認證匯出。格式為“DER編碼的二進位X.509(.CER)”。
假設匯出的檔案名稱為ca.cer
5.將PEM格式的ca.key轉換為Microsoft可以識別的pvk格式。
pvk -in ca.key -out ca.pvk -nocrypt -topvk
6.步驟接第二種方式的第3步

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.