using System; using System.Security.Cryptography.X509Certificates; using System.Security.Cryptography.Xml; using System.Xml; namespace GostXades.Helpers { public static class KeyInfoHelper { public static KeyInfo Create(X509Certificate2 certificate) { var xmlDocument = new XmlDocument(); var x509DataElement = xmlDocument.CreateElement("ds", "X509Data", KeyInfoNamespace); var x509CertificateElement = xmlDocument.CreateElement("ds", "X509Certificate", KeyInfoNamespace); x509CertificateElement.InnerText = Convert.ToBase64String(certificate.GetRawCertData()); x509DataElement.AppendChild(x509CertificateElement); var keyInfo = new KeyInfo(); keyInfo.AddClause(new KeyInfoNode(x509DataElement)); return keyInfo; } private const string KeyInfoNamespace = "http://www.w3.org/2000/09/xmldsig#"; } }