給程式集新增數字簽名和驗證程式集的資料簽名

2021-04-21 08:21:12 字數 1567 閱讀 5914

在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...