如何解决在Azure Web应用程序中获取与X509Certificate2相关的随机错误-密钥集不存在
我已经将我的公共证书和私有证书转换为base64字符串,并从我的Web应用程序的web.config文件中读取了它。我已经将我的Web应用程序部署到了Azure,而.NET Framework版本是4.7.2。有时,它给出错误“键集不存在”。这是完全随机的。下面是我的代码:-
using (X509Certificate2 cert1 = new X509Certificate2(Convert.FromBase64String(ConfigurationManager.AppSettings["private-certificate"]),ConfigurationManager.AppSettings["private-certificate-password"]))
{
using (X509Certificate2 cert2 = new X509Certificate2(Convert.FromBase64String(ConfigurationManager.AppSettings["public-certificate"])))
{
client.ClientCredentials.ClientCertificate.Certificate = cert1;
client.ClientCredentials.ServiceCertificate.DefaultCertificate = cert2;
client.ClientCredentials.ServiceCertificate.Authentication.CertificateValidationMode = X509CertificateValidationMode.None;
if (pollingRequest.MyRequest != null)
{
pollResponse = client.PollForMyRequest(pollingRequest.MyRequest);
}
else if (pollingRequest.MyAckRequest != null)
{
client.AcknowledgePoll(pollingRequest.MyAckRequest);
}
}
}
我查看了堆栈跟踪,发现它在第pollResponse = client.PollForMyRequest(pollingRequest.MyRequest);
行失败。我不是从密钥库中读取证书,因此访问/用户帐户应该没有任何问题。如我所说,此错误是完全随机的,因此我一无所知。有人遇到过这个问题吗?任何帮助将不胜感激。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。