C#:将证书链导出到 Base64 编码文件

问题描述

我遇到了这个问题,我需要使用 CertificateChain 生成 BinarySecurityToken (BST)。 我获得了证书,我可以毫无问题地构建链,但我无法将整个链导出到 BST 所需的 Base64。

我收到了这个测试代码 atm。

FileInfo cer = new FileInfo(@"d:\grep\cert2.cer");
X509Certificate2 c = new X509Certificate2(cer.FullName);
X509Chain ch = new X509Chain();
ch.Build(c);

foreach (X509ChainElement element in ch.ChainElements)
{                
    Console.WriteLine("Element subject: {0}",element.Certificate.Subject);
    Console.WriteLine("Element issuer name: {0}",element.Certificate.Issuer);
    Console.WriteLine("Element certificate valid until: {0}",element.Certificate.NotAfter);
    Console.WriteLine("Element certificate is valid: {0}",element.Certificate.Verify());
    Console.WriteLine("Element error status length: {0}",element.ChainElementStatus.Length);
    Console.WriteLine("Element information: {0}",element.information);
    Console.WriteLine("Number of element extensions: {0}{1}",element.Certificate.Extensions.Count,Environment.NewLine);

    if (ch.ChainStatus.Length > 1)
    {
        for (int index = 0; index < element.ChainElementStatus.Length; index++)
        {
            Console.WriteLine(element.ChainElementStatus[index].Status);
            Console.WriteLine(element.ChainElementStatus[index].Statusinformation);
        }
    }
}

所以我可以看到我得到了整个链,我只是不能导出它。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)