C#: Экспорт цепочки сертификатов в файл в кодировке Base64

#c# #certificate #export #chain

Вопрос:

У меня возникла проблема, что мне нужно сгенерировать BinarySecurityToken (BST) с цепочкой сертификатов. Я получил сертификат, и я могу построить цепочку без проблем, но я не могу экспортировать всю цепочку в Base64, которая необходима для BST.

Я получил этот тестовый код банкомата.

 FileInfo cer = new FileInfo(@"d:grepcert2.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);
        }
    }
}
 

Так что я вижу, что у меня есть вся цепочка, я просто не могу ее экспортировать.