gpt4 book ai didi

wcf - 客户端身份验证方案 'Anonymous' 禁止 HTTP 请求

转载 作者:行者123 更新时间:2023-12-03 20:53:43 25 4
gpt4 key购买 nike

我正在尝试配置 WCF 服务器\客户端以使用 SSL

我收到以下异常:

The HTTP request was forbidden with client authentication scheme 'Anonymous'



我有一个自托管的 WCF 服务器。
我已经运行了 hhtpcfg
我的客户端和服务器证书都存储在本地机器上的个人和受信任的人下

这是服务器代码:
binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Certificate;
binding.Security.Mode = WebHttpSecurityMode.Transport;
_host.Credentials.ClientCertificate.Authentication.CertificateValidationMode = System.ServiceModel.Security.X509CertificateValidationMode.PeerOrChainTrust;
_host.Credentials.ClientCertificate.Authentication.RevocationMode = X509RevocationMode.NoCheck;
_host.Credentials.ClientCertificate.Authentication.TrustedStoreLocation = StoreLocation.LocalMachine;
_host.Credentials.ServiceCertificate.SetCertificate("cn=ServerSide", StoreLocation.LocalMachine, StoreName.My);

客户代码:
binding.Security.Mode = WebHttpSecurityMode.Transport;
binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Certificate;
WebChannelFactory<ITestClientForServer> cf =
new WebChannelFactory<ITestClientForServer>(binding, url2Bind);
cf.Credentials.ClientCertificate.SetCertificate("cn=ClientSide", StoreLocation.LocalMachine, StoreName.My);
ServicePointManager.ServerCertificateValidationCallback
+= RemoteCertificateValidate;

查看 web_tracelog.svclog 和 trace.log
显示服务器无法验证客户端证书
我的证书不是由授权 CA 签署的
但这就是为什么我将它们添加到可信赖的人....

我错过了什么?
我错过了什么?

最佳答案

诀窍是使客户端证书有效,

为此,您有两个选择:

1)使其自签名,然后将其置于“受信任的根证书颁发机构”下。

显然,在生产中,您希望您的客户端证书由受信任的 CA 签名而不是自签名。
http://msdn.microsoft.com/en-us/library/ms733813.aspx

2) 用您创建的另一个证书(我们称其为 MyCA)为您的客户端证书签名,并将 MyCA 放在“受信任的根证书颁发机构”中,并将客户端证书放在“受信任的人”中。这样您的开发环境就更接近部署了。

如何创建和签署证书:
查看下 http://msdn.microsoft.com/en-us/library/bfsktky3.aspx

这是我使用的一系列命令:

1)makecert -r -pe -ss My -sr LocalMachine -a sha1 -sky exchange -n cn=MyCA -sv "MyCAPrivate.pvk"

2) makecert -pe -ss My -sr LocalMachine -a sha1 -sky exchange -n cn=SignedClientCertificate -iv "MyCAPrivate.pvk"-ic "MyCAPublic.cer"

关于wcf - 客户端身份验证方案 'Anonymous' 禁止 HTTP 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3002438/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com