[英]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.