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...