wcf 證書 ssl 自定義使用者名稱密碼

2022-07-31 02:24:13 字數 2013 閱讀 4035

1.生成證書 makecert -sr localmachine -ss my -n cn=wcfserver -sky exchange -pe -r

2.ssl證書設定

hash:證書的指紋

guid:呼叫的應用程式的guid

個人覺得win8下用netsh比較好  記得管理員許可權

3.服務端配置

1.繫結

設定繫結的安全模式為通道安全

"

transport

">

客戶型別憑證為基本

2.基位址

基位址為https開頭  

"

" />

3.終結點

設定支援https的繫結模式、配置繫結

4.設定服務行為

設定元資料終結點為https

"

true

"/>

設定服務憑證

1.服務端為證書驗證

"

findbysubjectname

" storename="

my" storelocation="

localmachine

" findvalue="

wcfserverpk

"/>

2.客戶證書的身份驗證為none

"

none

"/>

3.使用者名稱密碼身份驗證為自定義 指定驗證類

"

custom

" customusernamepasswordvalidatortype="

命名空間.類名,程式集

"/>

5.自定義使用者名稱密碼驗證類

繼承  system.identitymodel.selectors.usernamepasswordvalidator

實現  validate(string username, string password)

public override void validate(string username, string password)

4.客戶端配置

1.信任證書

servicepointmanager.servercertificatevalidationcallback +=remotecertificatevalidationcallback;

private

static

bool remotecertificatevalidationcallback(object

sender, x509certificate certificate, x509chain chain, sslpolicyerrors sslpolicyerrors)

2.傳入使用者名稱、密碼

client.clientcredentials.username.username = "

admin";

client.clientcredentials.username.password = "

1231313

";

wcf自定義繫結

一,建立自定義繫結 有時候我們需要建立自己的繫結,這在很多情況下不是出於特殊的安全要求和使用的傳輸協議。為了建立自定義的繫結,需要建立一組繫結元素。繫結元素是由system.servicemodel.channels.bindingelement派生而來的。1,使用http傳輸協議和binary編碼...

wcf自定義使用者名稱密碼驗證

一 建立證書 makecert.exe sr localmachine ss my a sha1 n cn testserver sky exchange pe 二 建立wcf服務 配置檔案 三 增加乙個自定義驗證類 validator類,它要繼承system.identitymodel.selec...

WCF 關於自定義MessageHeader支援

我們在專案中有些公共資訊可以不通過方法引數提供,將這些資訊封裝到messageheader,通過客戶端提交給server。這種情況下我們需要注意wcf不同的例項模式 會話模式對header的支援情況 實力模式 instancecontextmode percall persession支援heade...