程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言基礎知識 >> 給ActiveX簽名的實現方法詳解

給ActiveX簽名的實現方法詳解

編輯:C語言基礎知識
給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步
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved