[英]selfhosted WCF-Service + client certificate authentication
我正在嘗試實現自托管的WCF服務,該服務應通過證書使用客戶端身份驗證。 不幸的是,身份驗證失敗。 日志文件說,客戶端不提供證書。 如果嘗試通過firefox訪問該服務,則會顯示:“錯誤403-禁止訪問”。
以下代碼顯示了通過app-config文件進行的配置。
<serviceBehaviors>
<behavior name="sslbehaviour">
<serviceMetadata httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true"/>
<serviceCredentials>
<clientCertificate>
<authentication certificateValidationMode="ChainTrust" trustedStoreLocation="CurrentUser"/>
</clientCertificate>
<serviceCertificate findValue="cert-thumb-print" x509FindType="FindByThumbprint" storeLocation="CurrentUser" storeName="My"/>
</serviceCredentials>
</behavior>
</serviceBehaviors>
endpoint address="https://localhost:443/service" binding="wsHttpBinding"
bindingConfiguration="BindingForResultPost" contract="MobD.IEndpointService" />
錯誤消息:System.ServiceModel.Channels.HttpsClientCertificateNotPresent.aspx
我想我已經正確創建並安裝了我的證書。
我將非常感謝每一個提示...
親切的問候,邁克爾
您說當您嘗試通過Firefox訪問它時,您會得到403。Firefox是否已安裝了客戶端證書?
什么是Http子代碼? 我的猜測是您得到403.7(這意味着未安裝客戶端證書或瀏覽器未提供客戶端證書),403.16(客戶端證書不受信任),403.17(客戶端證書已過期)或可能是403.13(客戶端證書已撤銷) 。
我看到的一個問題-在沒有傳出網絡訪問權限的服務器上-是您獲得上述403代碼之一(不記得是哪一個),因為服務器無法獲取證書吊銷列表-因此它拒絕了所有證書。 可以禁用此檢查,但是顯然有一些安全注意事項。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.