WCF使用X509證書資料加密

2021-06-20 00:05:00 字數 1697 閱讀 3351

一:建立證書

在vs2012 的dos命令提示中,輸入下面的命令建立兩個證書

makecert.exe -sr localmachine -ss my -a sha1 -n cn=testserver -sky exchange -pe

makecert.exe -sr localmachine -ss my -a sha1 -n cn=testclient -sky exchange -pe

下面是各種引數的介紹

屬性

解析

-sr指定的證書儲存區中的登錄檔位置。 

currentuser 

指定註冊版儲存位置為 hkey_current_user. 

localmachine 

指定註冊版儲存位置為 hkey_local_machine.

-ss指定證書儲存的位置。

-a指定相關的演算法,可以選擇 md5 演算法或者 sha1演算法

-n指定證書的名稱。該名稱遵循x.500命名標準。簡單例子如 "cn=myname" 格式,如果沒有指定/n開關,證書預設的名稱是"joe's software emporium"。

-sky

證書鍵型別。可以設定為 exchange 或者 signature。

-pe證書可匯出

建立成功後可以

開始->執行->mmc.exe->在控制台中選擇檔案->新增/刪除管理單元->新增->選擇證書->彈出證書管理單元選擇計算機賬戶,預設下一步確定回來,就看到下面的介面。

二;建立wcf服務

主要是配置

這裡設定成none因為我們建立的是不受信任的證書

<?xml version="1.0" encoding="utf-8"?>

配置後執行wcf服務後報金鑰集不存在,是因為沒有對證書授權

授權證書:

新增everyone --讀取

然後就可以正常的訪問wcf服務了

三:客服端呼叫

用winform作為測試客服端

新增引用後新增一點配置

ok!呼叫成功

注意:這裡使用的是wshttpbinding,使用basichttpbinding

除錯沒有成功

如何使用X 509證書

簡介 在怎樣把x.509證書部署到生產系統之前,你需要了解ssl tsl協議中所支援的認證場景的區別。你部署證書的方式取決於 你選擇的是哪種認證場景。單向認證 在單向認證場景中,伺服器在ssl握手期間會將自己的證書分發給客戶端,以便客戶端能據此驗證目標身份。所以在 此情景下,伺服器相對於客戶端是認證...

X 509證書校驗

x.509證書校驗 這裡討論openssl 中如何應用 crls 和來自證書體系的其他證書來進行證書校驗。為此需要使用 x.509 包的功能函式。ssl協議實現已經處理了很多這裡將要討論的東西,即使如此,一些工作還是需要我們親歷親為,特別是當我們希望在證書校驗過程中使用 crls 的校驗,大部分情況...

x509證書驗證

x509 verify cert函式負責用來驗證證書的有效性,函式原型如下 int x509 verify cert x509 store ctx ctx 驗證成功返回1,失敗返回其他值,失敗的原因可以通過 long ncode x509 store ctx get error ctx const ...