我正在使用密钥对来签署我的 XML(使用 SignedXml)并且我将公钥作为嵌入式资源嵌入到我的应用程序中。
在这里我如何创建密钥对
sn -k Warehouse.snk
sn -p Warehouse.snk WarehousePublic.snk
当我试图阅读WarehousePublic.snk我得到一个异常错误版本的提供者。
这是我的代码:
using (Stream stream = assembly.GetManifestResourceStream("WareApp.Resources.WarehousePublic.snk"))
{
byte[] bytes = new byte[stream.Length];
stream.Read(bytes, 0, bytes.Length);
using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider())
{
rsa.ImportCspBlob(bytes); //the exception occurred here
...
...
...
}
}
有没有办法仅从公钥创建RSACryptoServiceProvider?
我也试过使用 X509Certificate2
X509Certificate2 cert = new X509Certificate2(bytes); //I got exception here
RSACryptoServiceProvider rsa = (RSACryptoServiceProvider)cert2.PublicKey.Key;
但我得到异常无法找到请求的对象。
任何的想法?
慕标琳琳
相关分类