![](/img/trans.png)
[英]System.Net.WebException : The remote server returned an error: (403) Forbidden
[英]System.Net.WebException: The remote server returned an error: (403) Forbidden
我有一個WCF服務,該服務需要使用證書進行客戶端身份驗證。
我有一個使用此WCF的簡單控制台應用程序。
我有2個客戶端證書,第一個證書控制台應用程序運行良好,第二個證書則返回此錯誤:
System.ServiceModel.Security.MessageSecurityException: The HTTP request was forbidden with client authentication scheme 'Anonymous'. ---> System.Net.WebException: The remote server returned an error: (403) Forbidden.
我在IIS日志中看到的是403.7。
這兩個證書都安裝在同一存儲中,並且在執行控制台應用程序的用戶的“ 管理私鑰”中都具有相同的權限。
兩種證書都具有:
有任何想法嗎?
UPDATE
如果我激活了SCHANNEL日志記錄,則當我使用失敗的證書時,在事件查看器上我們會看到以下錯誤:
解決了
問題在於我們使用以下方法獲取證書:
X509FindType.FindBySubjectName
對於我們正在使用的主題,至少還有另外3個包含該主題的證書。
那么我們得到的證書是不正確的,我們更改代碼以使用
X509FindType.FindBySubjectDistinguishedName或X509FindType.FindByThumbprint
現在可以獲取正確的客戶端證書並可以使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.