WCF分布式開發常見錯誤(22)

來源:互聯網
上載者:User

WCF分布式開發常見錯誤(22):The caller was not authenticated...如何在XP系統為WCF設定可信任的認證

我在XP 專業版系統進行WCF安全編程的時候,遇到的錯誤。使用的安全驗證 方式是: UserName and Password Security 綁定協議:.WSHTTPBinding。我 會把如何在XP環境下設定可信認證的過程,詳細的描述出來。因為這個錯誤就是 和認證有直接關係,對於很多XP環境下進行WCF編程的學習者來說,應該有不錯 的參考價值。錯誤資訊:The caller was not authenticated by the service 。服務驗證調用者失敗。XP系統配置認證還似乎比較麻煩,你像Windows伺服器 系列,我們可以建立CA來控制認證的狀態。雖然我們可以自己安裝。但是過於麻 煩。正如申請一個免費的認證一樣。僅僅為了個人學習,一切都希望簡單,快速 地學習WCF的安全編程。我這裡也是使用了makecert製作的認證。

設定了伺服器憑證,訊息安全模式。  我搜尋的資料。如下:

The caller was not authenticated by the service - WCF Security using ...

The caller was not authenticated by the service

Caller was not authenticated by the service

WCF - The caller was not authenticated by the service

WCF - TCP+Cert "The caller was not authenticated by the service." 但是沒什麼協助,類似的問題很多都是沒有解決。問題我也放到WCF中文和英文 論壇:

http://social.microsoft.com/Forums/zh-CN/wcfzhchs/thread/cd3f0247- a1b4-43c0-af1c-7b0e609b1e3b

http://social.microsoft.com/Forums/zh-CN/wcf/thread/3a5417c6-fdd1- 47d7-9757-ebc8ede7affb。

【1】問題描述:錯誤資訊的截圖:

一樣採用UserNamePasswordValidator驗證方式。wsHttpBinding,此綁定支 持WS安全規範。必須啟動服務端認證。 WCF分布式開發常見錯誤(21):unable to open its IChannelListener.分發器未能開啟接聽程式 ,已經遇到過一次了問題。 當時導致錯誤的原因是沒有啟用服務端認證。 這個錯誤修正完畢以後,再次啟 動服務,加入服務參考,產生了用戶端代理等相關檔案。  服務行為的認證配 置資訊如下:

<serviceBehaviors>
         <behavior name="WCFService.WCFServiceBehavior">
           <serviceMetadata httpGetEnabled="true" />
           <serviceDebug includeExceptionDetailInFaults="false" />
           <serviceCredentials>
             <serviceCertificate  x509FindType="FindBySubjectName"  findValue="MyServer" storeLocation="CurrentUser"/>
             <clientCertificate >
               <authentication certificateValidationMode="None" />
             </clientCertificate>
             <userNameAuthentication userNamePasswordValidationMode="Custom"      customUserNamePasswordValidatorType="WCFService.MyUserNamePasswordVali dator,WCFService" />
           </serviceCredentials>
         </behavior>
       </serviceBehaviors>

這句話就是服務端查詢認證的依據:<serviceCertificate  x509FindType="FindBySubjectName" findValue="MyServer" storeLocation="CurrentUser"/>。在CurrentUser位置,尋找主題為 MyServer的認證。

使用x509認證是符合WS安全規範。認證是非對稱式加密演算法的典型應用。至於 如何獲得非對稱式加密、認證,我在之前的系列文章裡已經詳細講過,需要的話可 以再參考:WSE3.0構建Web服務安全(2):非對稱式加密、公開金鑰、密鑰、認證、簽名 的區別和聯絡以及X.509 憑證的獲得和管理

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.