這是試圖瞭解新材料的學術問題。在正規學校的意義上不是學術性的,而是在持續教育意義上,想要處理我以前從未接觸過的發展領域。正在讀取正在執行的程序集簽名pfx/cert
所以在我的理解中,我創建了一個程序集並通過「簽名」創建了一個強名稱/ X509Certificate。
所以我創建了一個空的winapp。我轉到簽名選項卡上的項目屬性並使用密碼對程序集簽名。
將文件testing.pfx添加到我的項目中。
在表單加載我然後執行此代碼思考我會看到我的程序集簽署證書只有我不是因爲它是空的......?
Assembly ass = Assembly.GetExecutingAssembly();
Module mod = ass.GetModules().First();
X509Certificate cert = mod.GetSignerCertificate();
cert爲空。這是爲什麼?我是否做了錯誤的檢索證書,或者我的腦袋裏混雜着什麼東西,我尋找的東西不是我正在尋找的地方?
謝謝
編輯
@p市盈率的我用讀您的文章和MSDN後以下。
signtool符號/一個C:/....../ MyFile.exe
signtool符號/ F C:/....../ MyCert.pfx/P MyPassword輸入C:/ ....../MyFile.exe
兩人都說他們成功完成。但是,運行上面的代碼塊仍會生成一個空證書。
現在我可能錯過了或者做錯了我正在使用visual studio調試版本,這是我用於簽名的exe文件的路徑。
C:.... \ LicensedControlTest \ OBJ \ 86 \調試
有兩種不同的簽名經常會讓人感到困惑。強名稱簽名和代碼簽名(即數字簽名,例如Authenticode)。見[this](http://blogs.msdn.com/b/ericlippert/archive/2009/09/03/what-s-the-difference-part-five-certificate-signing-vs-strong-naming.aspx )。只有後一種簽名纔有證書。您只需將一個強大的名稱應用於裝配。 – 2014-11-08 04:25:38
@mikez謝謝。 Eric的文章幫助解釋了這些差異。 – GPGVM 2014-11-09 15:47:51