我有兩個WCF服務使用WsHttpBinding與傳輸安全性相互證書身份驗證,它們被託管在同一個Windows服務器上。可以訪問一個WCF服務的客戶端不應該有權訪問其他WCF服務。我需要一些幫助來在Windows主機上配置客戶端證書。客戶端證書由受信任的CA簽署,中間和根證書鏈已經安裝在服務器上。看起來服務自動依賴信任鏈,並且在讓客戶端訪問服務之前根本不需要在服務器上安裝實際的客戶端證書 - 這不是我想要的行爲。有人可以告訴我應該如何配置這些客戶端證書,以明確允許訪問一個服務而不是另一個服務?WCF WsHttpBinding證書傳輸安全 - Windows證書配置
謝謝。
謝謝你的答案拉迪斯拉夫。所以看起來我必須編寫代碼才能限制對所需證書的訪問。在這種情況下,我打算編寫一個SAM,並根據證書指紋進行本地配置,以指定授權客戶端。您能告訴我什麼是在運行時確定經過身份驗證的客戶端證書指紋的正確方法嗎? – shermoid
您是否熟悉證書信任列表(CTL)?我能配置一個CTL來實現結果嗎? – shermoid
它應該在'ClaimSet'中,您將使用類似'set.FindClaims(ClaimTypes.Thumbprint,Rights.Identity)'的東西',並且您應該獲得帶有指紋證書的所有聲明。 –