WCFNetTcpBindingTransport安全模式(7)ClientCredentialType證書驗證模式—-ChainTrust驗證模式

zting科技發表於2017-01-18

WCF NetTcpBinding Transport安全模式(7)   ClientCredentialType證書驗證模式—-ChainTrust驗證模式

ChainTrust驗證模式使用證書鏈來驗證 X.509證書是否有效以及是否由受信任頒發者所頒發。它指定每個證書都必須存在於某個證書層次結構中,而該層次結構以位於證書鏈頂端根證書頒發機構結束。它將驗證 X.509證書是否由受信任證書頒發機構頒發。通過搜尋證書儲存區並確定是否已將該證書頒發機構證書指定為受信任證書,可以做到這一點。為了使 WCF能夠做出此判斷,必須將證書頒發機構證書鏈安裝在正確證書儲存區中。

因為 Windows附帶一組預設用於受信任證書頒發機構證書鏈,所以可能不必為所有證書頒發機構安裝證書鏈。

擴充套件閱讀       X.509證書鏈說明

crt上有證書持有人資訊、持有人公鑰、簽署者簽名。當安裝了一個證書後,就信任了這份證書。證書上會說明用途,例如伺服器認證、客戶端認證,或者簽署其他證書。當系統收到一份新證書時候,證書會說明是由誰簽署。如果這個簽署者確實可以簽署其他證書,並且收到證書上簽名和簽署者公鑰可以對上時候,系統就自動信任新證書。
  在系統開始時候,會自動安裝信任一些證書機構,這些被稱為根證書機構(CA)。根證書機構會為其他公司頒發證書,用於各種用途。當然,被簽署證書也可能是一份可簽署證書,這樣就要檢查對方資質。這樣逐層簽署,就會形成證書鏈

設定驗證模式為“ChainTrust配置如以下程式碼所示。

在服務端設定驗證客戶端憑據模式為“ChainTrust”:

           <clientCertificate >

              <certificate findValue=XuanhunClient

                            storeLocation=CurrentUser

                            storeName=My

                            x509FindType=FindBySubjectName/>

     <authentication certificateValidationMode=ChainTrust trustedStoreLocation=CurrentUser  />

            </clientCertificate>

在客戶端設定驗證驗證服務端憑據模式為“ChainTrust”:

   <serviceCertificate >

     <defaultCertificate 

                 x509FindType=”FindBySubjectName”

                storeLocation=”CurrentUser”

              storeName=”TrustedPeople”

                findValue=”XuanhunServer”

                />

<authentication certificateValidationMode=ChainTrust  />

            </serviceCertificate>

 —————-注:本文部分內容改編自《.NET 安全揭祕》

 

本文轉自玄魂部落格園部落格,原文連結:http://www.cnblogs.com/xuanhun/archive/2012/06/24/2560096.html,如需轉載請自行聯絡原作者


相關文章