У меня возникли трудности с загрузкой личного ключа. Я создал сертификат, используя следующую команду:Загрузка открытого ключа из файла в C#
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout privateKey.key -out certificate.crt
Я создал GIST выхода: https://gist.github.com/anonymous/5592135
static void Main(string[] args)
{
string location = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
string certLocation = location + "\\assets\\certificate.crt";
string privateKeyLocation = location + "\\assets\\privateKey.key";
string xmlDocLocation = location + "\\assets\\sample.xml";
XmlDocument Doc = new XmlDocument();
Doc.Load(xmlDocLocation);
// read up the certificate
X509Certificate2 cert = new X509Certificate2(certLocation);
X509Certificate2 privateKey = new X509Certificate2(privateKeyLocation);
}
мой сертификат нагрузки хорошо, но я не могу получить секретный ключ для загрузки. Я получаю «Не могу найти запрошенный объект».
Я бы предпочел загрузить закрытый ключ и сертификат из файлов вместо использования магазина, возможно ли это? Я неправильно создал сертификат и закрытый ключ? В конечном счете, я хотел бы включить открытый ключ в XML-документ, и получатель будет анализировать данные xml и проверять соответствие закрытых и открытых ключей.
Спасибо, я смог заставить его работать! – TheWebGuy
Обратите внимание: если кому-то нужен пример, я создал репо на GitHub: https://github.com/tekguy/SignXMLExample. Удачи! – TheWebGuy