在vs安裝後發現路徑**vc7/common7/tools/bin/下有許多小工具。
1。makecert.exe ---證書建立工具
2。cert2spc.exe ---發行者證書測試工具
3。signtool.exe ---檔案簽名工具
4。chktrust.exe 檢查簽署證書後的ocx是否正確
建立自己的根證書:
makecert -sk mypk -ss myname -n "cn=sharpsoft" -r c:/my.cer
sk-表示主題的金鑰容器位置,ss-主題的證書儲存名稱, n-證書頒發物件,r-證書儲存位置;
如果你需要匯出私鑰檔案,請不要使用sk,而換作s,
eg:makecert -ss myname -n "cn=sharpsoft" -sv c:/my.pvk -r c:/my.cer
建立自根跟證書授權的子證書:
makecert -sk "mypk" -is myname -n "cn=sharpsoft" -$ commercial -ic c:/my.cer c:/31.cer
sk-表示主題的金鑰容器位置,is-頒發者的證書儲存名稱, n-證書頒發物件,ic-頒發者的證書儲存位置,-$-授權範圍(用於**簽名);
使用cert2spc生成spc發行者證書(可選):
cert2spc c:/31.cer c:/31.spc
使用signtool為你的程式,庫或cab包簽名:
雙擊signtool,或在控制台鍵入signtool signwizard,啟動簽名嚮導。在第三步選擇「自定義選項」,第四步選擇「從檔案選擇」選擇31.spc或31.cer,第五步選擇「csp中的私鑰」,在金鑰容器中選擇我們定義的mypk,其他步驟預設即可,如果想新增時間戳,請在時間戳伺服器位址上鍵入:(免費時間戳認證)http: //timestamp.verisign.com/scripts/timstamp.dll
完成後,觀察你所簽名的檔案屬性,應該已經新增數字簽名項。
好了,以上就給乙個程式集新增了你自己的數字簽名。
如果你的程式部署以後,需要在你的主程式中判斷程式集的數字簽名的時候,該怎麼辦呢?
.net的類庫中提供了system.security.cryptography.x509certificates命名空間,裡面有很多類可以運算元字簽名。
其中最常用的就是x509certificate2和x509certificate2ui了,他們分別是獲取數字簽名的資訊和用對話方塊顯示這些資訊。
注意,x509certificate2ui類在system.security.dll檔案中,需要新增引用這個檔案。
簡單的示例**如下:
string certificate = @"d:/classlibrary1.dll";
x509certificate2 cert = new x509certificate2(certificate);
console.writeline(cert.subject);
console.writeline(cert.serialnumber);
x509certificate2ui.displaycertificate(cert);
如何給activeX加數字簽名
首先要有工具包,包括以下幾個軟體 makecert.exe 製作cer格式的證書,即x.509證書,同時可以建立私鑰 cert2spc.exe 將cer格式證書轉換成spc格式證書,即pkcs 7證書 signcode.exe 將證書簽署到ocx上去 chktrust.exe 檢查簽署證書後的ocx...
給exe程式 製作數字簽名
簡單地說,需要兩步 1.購買或自己創立乙個的數字簽名證書檔案。有工具軟體可以製作數字簽名證書,比如openssl,但自簽的,在別人的機器上,回出現簽名無法校驗的問題。除非人家信任,否則人家不會安裝你的證書。2.用工具軟體對exe或其他任何檔案,進行數字簽名。可以是免費的ui工具,比如 ksign 也...
數字簽名示例程式 Java編寫
public class testds public void run try catch exception e 其它人通過公共方式得到此戶的公鑰和檔案 tryelse system.out.println 非簽名正常 catch exception e public boolean genera...