我们正在尝试配置由DigiCert CA颁发的客户端提供的证书,以便在WCF服务中进行身份验证。
不幸的是,我们需要运行的实用程序无法解析证书并给出一个Unexpected error: Invalid provider type specified.错误。
似乎错误意味着证书的格式是CNG而不是CAPI,显然.NET 4和更高版本应该能够接受这些格式。但我们仍然不确定如何将其输入app.config以使.NET识别证书。下面是带有端点证书身份验证的app.config文件内容。
有人能给我一些建议吗?提前谢谢你。
<behaviors>
<endpointBehaviors>
<behavior name="ClientCertificateBehavior">
<clientCredentials>
<clientCertificate findValue="2449997a30a8c9df29bd43c1eaa91cb47d89b0cb" storeLocation="LocalMachine" storeName="My" x509FindType="FindByThumbprint"/>
<serviceCertificate>
<authentication certificateValidationMode="None" revocationMode="NoCheck"/>
</serviceCertificate>
</clientCredentials>
</behavior>
</endpointBehaviors>
</behaviors>
<client>
<endpoint name="Download" address="http://mywebserviceurl.com/MobileService/WebService2.svc" behaviorConfiguration="ClientCertificateBehavior" binding="wsHttpBinding" bindingConfiguration="TheWsHttpBinding" contract="MyApp.FileClient.IDownloadService">
<identity>
<certificate encodedValue="*****"/>
</identity>
</endpoint>
</client>
<bindings>
<wsHttpBinding>
<binding name="TheWsHttpBinding">
<security>
<message clientCredentialType="Certificate"/>
</security>
</binding>
</wsHttpBinding>
</bindings>
</system.serviceModel>发布于 2022-06-24 20:28:15
您可能正在使用.NET Framework4.6.1或更低版本:
.NET Framework4.6.1和更早版本不支持这些证书,因为它们使用遗留CryptoAPI来处理CNG/KSP证书。在.NET Framework4.6.1和更早版本中使用这些证书将导致异常。来源
https://stackoverflow.com/questions/72704566
复制相似问题