X509證書介紹
X.509 是由國際電信聯盟(ITU-T)制定的數字證書標准,相信這是人盡皆知的了,目前X.509證書據我所知有三個版本,.net中使用的是x.509-2,X.509-2 版引入了主體和簽發人唯一標識符的概念,以解決主體和/或簽發人名稱在一段時間后可能重復使用的問題,x509-2(以下簡稱x509)證書由兩把鑰匙組成,通常稱之為密鑰對,公鑰加密,私鑰解密。今天我想在這里對x509進行一個深入的介紹和了解,因為在WCF的安全體系中,x509證書應用是非常頻繁的,或者說是不可缺少的。
1、如何生成證書?
使用微軟提供的Makecert.exe測試證書生成工具可以很好的幫助我們得到一個x509標准證書,具體方法如下:下載Makecert.exe或者定位到你的計算機目錄:C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin下,找找就看見了,我強烈建議你copy Makecert.exe到一個單獨的目錄中,如copy到D:\\cers。
現在點擊開始菜單-運行-輸入cmd,運行控制台應用程序,定位到D:\\cers,在控制台輸入:makecert -r -pe -$ individual -n “CN=mailSecurity” -sky exchange -sr currentuser -ss my mailSecurity.cer,即可在當前用戶證書存儲區下的個人區中生成一個名為mailSecurityr的x509證書,並在當前目錄輸出了證書文件mailSecurity.cer,以下簡單介紹一下各種參數意義,更復雜的參數請參考:證書創建工具幫助
makecert 證書工具名
-r 表示即將生成的證書是自我簽署的,自己給自己發獎(這里主要是指頒發機構)
-pe 表示將所生成的私鑰標記為可導出。這樣可將私鑰包括在證書中
-$ 證書是個人用還是商用(individual/commercial)老美就是搞啊,這玩意用美元符號還真是形象得很。
-n 表示證書主題,你就當它是標題吧,不管你取什么名字,必須包含CN=前綴
-sky 指定主題的密鑰類型,必須是 signature、exchange 或一個表示提供程序類型的整數。默認情況下,可傳入 1 表示交換密鑰,傳入 2 表示簽名密鑰
-sr 指定主題的證書存儲位置。Location 可以是 currentuser(默認值)或 localmachine(實際是必須是這兩個中的一個值)
-ss 指定主題的證書存儲名稱,輸出證書即存儲在那里
mailSecurity.cer 證書名稱,不必與主題一致,不過建議你還是致的好。