我无法加载我的私钥。我使用以下命令创建了一个证书:
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 数据并验证私钥和公钥是否匹配。