2007年3月6日 星期二

WCF 的 Asp.Net MemberShipAndRoleProvider sample



一直想試試看 WCF internet 上如何做到 message security 的功能


試了MemberShipAndRoleProvider 這一個 sample


是可以執行的。


但我自己寫了一個來試,卻又一直試不出來。


發生錯誤The X.509 certificate CN=localhost chain building failed. The certificate that was used has a trust chain that cannot be verified. Replace the certificate or change the certificateValidationMode. 撤銷功能無法檢查憑證的撤銷


在比對之下,才發現一個事實。


MemberShipAndRoleProvider sample 下,有個假設,是已執行伺服器端的憑證。但該CA卻不存在。因此,無法達到 Chain trust的功能。


因此,必須將 Client side ChainTrust 改成PeerOrChainTrust。而在Client Side Trusted Person 加入該網站的憑證。


因為該 client side 信任該網站的憑證,且certificateVericationMode 設成 PeerOrChainTrust,就會確認是不是受信任的人。是的話,就成功了。


<behaviors>


<endpointBehaviors>


<behavior name="ClientEndPointBehavior">


<clientCredentials>


<serviceCertificate>


<authentication certificateValidationMode="PeerOrChainTrust" />


</serviceCertificate>


</clientCredentials>


</behavior>


</endpointBehaviors>


</behaviors>


沒有留言:

Share with Facebook