如何解决使用 .p12
我有一个生成的 .p12 文件和一个可用于验证的证书链(根证书和中间证书)。
System.Security.Authentication.AuthenticationException: The remote certificate is invalid according to the validation procedure.
var handler = new httpclienthandler();
var p12 = new X509Certificate2(
Path.Combine(Environment.CurrentDirectory,"Assets/Certs/p12filename.p12"),"TheRealPassword");
handler.ClientCertificateOptions = ClientCertificateOption.Manual;
handler.ClientCertificates.Add(p12);
handler.ServerCertificateCustomValidationCallback = (httpRequestMessage,cert,chain,sslPolicyErrors) =>
{
var root = new X509Certificate2(
Path.Combine(Environment.CurrentDirectory,"Assets/Certs/Root.cer"));
X509Chain CertificateChain = chain;
CertificateChain.ChainPolicy.RevocationMode = X509RevocationMode.NoCheck;
return CertificateChain.Build( root );
};
var client = new HttpClient(handler);
var url = "https://urlHere"
var request = new HttpRequestMessage()
{
RequestUri = new Uri(url),Method = HttpMethod.Get,};
var response = await client.SendAsync(request);
我不太精通使用证书,所以它可能是非常基本的东西。请注意,如果在 ServerCertificateCustomValidationCallback 中我返回 true
我没有问题。
更新: 澄清一下,我如何使用我的 .p12 和相应的根证书和中间证书来验证我遇到的终点。我的假设基于在回调中返回 true 给我我想要的东西是我需要在这里做这些检查。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。