in IMDSSample.cs [41:68]
private static void ValidateCertificate(AttestedDocument document)
{
try
{
// Build certificate from response
X509Certificate2 cert = new X509Certificate2(System.Text.Encoding.UTF8.GetBytes(document.Signature));
// Build certificate chain
X509Chain chain = new X509Chain();
chain.Build(cert);
// Print certificate chain information
foreach (X509ChainElement element in chain.ChainElements)
{
Console.WriteLine("Element issuer: {0}", element.Certificate.Issuer);
Console.WriteLine("Element subject: {0}", element.Certificate.Subject);
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);
}
}
catch (CryptographicException ex)
{
Console.WriteLine("Exception: {0}", ex);
}
}