作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在证书验证方面遇到问题。我有 .perm 文件女巫是链证书文件(里面有多个 BEGIN 和 END CERTIFICATE)。
我尝试导入证书集合,但导入后集合的长度为 1。
X509Certificate2Collection collection = new X509Certificate2Collection();
collection.Import(certpath);
我在
中看不到任何有趣的选项X509Chain chain2 = new X509Chain();
我收到验证返回错误,我认为原因是并非所有证书都已加载。
下面是我的完整验证方法
private static bool ValidateServerCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
{
try
{
string certpath = "actual path";
X509Certificate2Collection collection = new X509Certificate2Collection();
collection.Import(certpath);
X509Chain chain2 = new X509Chain();
foreach(X509Certificate2 c in collection)
{
chain2.ChainPolicy.ExtraStore.Add(c);
}
// Check all properties
chain2.ChainPolicy.VerificationFlags = X509VerificationFlags.NoFlag;
// This setup does not have revocation information
chain2.ChainPolicy.RevocationMode = X509RevocationMode.NoCheck;
// Build the chain
chain2.Build(new X509Certificate2(certificate));
// Are there any failures from building the chain?
if (chain2.ChainStatus.Length == 0)
return true;
// If there is a status, verify the status is NoError
bool result = chain2.ChainStatus[0].Status == X509ChainStatusFlags.NoError;
return result;
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
return false;
}
最佳答案
X509Certificate2Collection
和Import
方法不支持包含多个证书的文件(一个接一个地附加)。请参阅此方法的文档 here .
有一种格式可能有效——SerializedStore
,但文档对此没有太多说明。我假设它是 SerializedCert
的某个数组之王,它是具有它属性的证书,因此即使这种格式与您所拥有的也不匹配。
尝试分离证书并使用this constructor初始化 X509Certificate2Collection
。
关于c# - 来自文件的 ChainCertificate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30750583/
我在证书验证方面遇到问题。我有 .perm 文件女巫是链证书文件(里面有多个 BEGIN 和 END CERTIFICATE)。 我尝试导入证书集合,但导入后集合的长度为 1。 X509Certifi
我是一名优秀的程序员,十分优秀!