WSE2 0中X509安全令牌的使用

2022-03-01 18:17:59 字數 1739 閱讀 4083

wse2.0發布了,大家都來一起研究吧,我先來拋磚引玉:

呼叫webservice時有的時候安全性要求比較高,wse提供了客戶端證書來呼叫webservice,好我們就來看看怎麼弄。

呼叫webservice當然有客戶端和webservice端了,我們先來看看

客戶端:

using microsoft.web.services2.security;

using microsoft.web.services2.security.tokens;

using microsoft.web.services2.security.x509;

1。// 在個人證書儲存區獲取證書

x509certificatestore store = x509certificatestore.currentuserstore( x509certificatestore.mystore );

store.openread()

//讀取證書的keyid

x509certificatecollection certs = store.findcertificatebykeyidentifier( convert.frombase64string( keyidentifier ) );

x509securitytoken token = null;

if (certs.count > 0)

2。//把token加入到soap中

servicewse serviceproxy = new servicewse(); //遠端webservice**

serviceproxy.requestsoapcontext.security.tokens.add( token );

serviceproxy.requestsoapcontext.security.elements.add( new messagesignature( token ) );

3。呼叫webservice的方法:

。。。和普通呼叫webservice的方法一樣,我這裡就不說了:)

webservice端:

1。配置web.config

在configuration節點下加:

表示引用的是wse2.0

在下加:

在configuration節點下加:

這個wse2.0中規定的xml節點。

2。驗證客戶端提交上來的證書

//獲取客戶端提交上來的證書

x509securitytoken x509token = getsigningtoken(requestsoapcontext.current) as x509securitytoken;

public securitytoken getsigningtoken(soapcontext context)

}}           

return null;

}//判斷證書是否合法

//根據證書的keyid來判斷

//這個就是證書的keyid,

x509token.keyidentifier.value

。。。如果和你頒發的證書keyid不一致的話,你可以拋給他乙個錯誤:

throw new securityfault(securityfault.failedauthenticationmessage, securityfault.failedauthenticationcode);

如果正確,執行webservice中的**。

X 509標準簡介

伺服器ssl數字證書和客戶端單位數字證書的格式遵循 x.509 標準。x.509 是由國際電信聯盟 itu t 制定的數字證書標準。為了提供公用網路使用者目錄資訊服務,itu 於 1988 年制定了 x.500 系列標準。其中 x.500 和 x.509 是安全認證系統的核心,x.500 定義了一種...

X 509證書校驗

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

X 509標準簡介

伺服器ssl數字證書和客戶端單位數字證書的格式遵循 x.509 標準。x.509 是由國際電信聯盟 itu t 制定的數字證書標準。為了提供公用網路使用者目錄資訊服務,itu 於 1988 年制定了 x.500 系列標準。其中 x.500 和 x.509 是安全認證系統的核心,x.500 定義了一種...