我在寫一個WCF服務,我需要訪問用於連接到服務的客戶端證書的哈希碼。從WCF服務訪問客戶端證書屬性
我正在尋找類似於ASP.NET 2.0 2.0版Request.ClientCertificate的屬性或方法,但無法找到允許輕鬆訪問客戶端證書的任何內容。
我們的服務設置爲使用basicHttpBinding和「Transport」安全模式使用SSL運行。
IIS已設置爲要求SSL和接受證書。
需要注意的一件事是我們用於保護端點的服務器證書來自與客戶端證書不同的CA--客戶端證書旨在僅通過自定義代碼進行驗證(因此需要獲取散列連接證書的代碼)。
我已經創建了IDispatchMessageInspector的自定義實現,以查看是否有任何對客戶端證書的訪問,但無濟於事。
有沒有人嘗試過這個,並取得了成功?
謝謝,這個解決方案完美:) 我們確實採取了這種方法,然後也發現WCF正在填充我們需要的信息ServiceSecurityContext而無需使用自定義證書驗證程序,只需在我們的服務實現中使用以下代碼: ((X509CertificateClaimSet)ServiceSecurityContext.Current.A uthorizationContext.ClaimSets [0])。X509Certificate – lowds 2011-02-16 08:36:59