本文整理汇总了C#中System.Security.Cryptography.X509Certificates.X509Certificate2.BuildChain方法的典型用法代码示例。如果您正苦于以下问题:C# X509Certificate2.BuildChain方法的具体用法?C# X509Certificate2.BuildChain怎么用?C# X509Certificate2.BuildChain使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Security.Cryptography.X509Certificates.X509Certificate2
的用法示例。
在下文中一共展示了X509Certificate2.BuildChain方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: FailExpired
public void FailExpired()
{
DateTime time = new DateTime(2014, 03, 15, 12, 0, 0);
var cert = new X509Certificate2("files/expired.crt");
IList<CertificateList> crls = new List<CertificateList>();
IList<BasicOcspResponse> ocps = new List<BasicOcspResponse>();
Chain chain = cert.BuildChain(time, null, ref crls, ref ocps, time);
Assert.AreEqual(1, crls.Count);
Assert.AreEqual(1, ocps.Count);
Assert.AreEqual(1, chain.ChainStatus.Count(x => x.Status == X509ChainStatusFlags.NotTimeValid));
Assert.AreEqual(1, chain.ChainElements[0].ChainElementStatus.Count(x => x.Status == X509ChainStatusFlags.NotTimeValid));
Assert.AreEqual(0, chain.ChainElements[1].ChainElementStatus.Count(x => x.Status != X509ChainStatusFlags.NoError));
Assert.AreEqual(0, chain.ChainElements[2].ChainElementStatus.Count(x => x.Status != X509ChainStatusFlags.NoError));
}
示例2: Success10
public void Success10()
{
DateTime time = DateTime.UtcNow;
if (time > new DateTime(2019, 3, 19)) Assert.Inconclusive("The cert is (or will very soon be) expired");
var cert = new X509Certificate2("files/foreigner.crt");
var caCert = new X509Certificate2("files/foreigner_ca.crt");
IList<CertificateList> crls = new List<CertificateList>(new CertificateList[] { });
IList<BasicOcspResponse> ocps = new List<BasicOcspResponse>(new BasicOcspResponse[] { });
X509Certificate2Collection inter = new X509Certificate2Collection(caCert);
Chain chain = cert.BuildChain(time, inter, ref crls, ref ocps, time, true, new TimeSpan(1, 0, 0));
Assert.AreEqual(1, crls.Count);
Assert.AreEqual(1, ocps.Count);
Assert.AreEqual(0, chain.ChainStatus.Count(x => x.Status != X509ChainStatusFlags.NoError));
Assert.AreEqual(0, chain.ChainElements[0].ChainElementStatus.Count(x => x.Status != X509ChainStatusFlags.NoError));
Assert.AreEqual(0, chain.ChainElements[1].ChainElementStatus.Count(x => x.Status != X509ChainStatusFlags.NoError));
Assert.AreEqual(0, chain.ChainElements[2].ChainElementStatus.Count(x => x.Status != X509ChainStatusFlags.NoError));
}