我正在开发一个项目,我需要使用“公钥”来使用RSA算法加密邮件。我被提供了一个证书,我的第一个想法是使用该证书中的公钥,并且在调查之后,我了解到我需要使用RSACryptoServiceProvider
进行加密。从公钥(不是证书)构造RSACryptoServiceProvider
我检查了msdn,只有我以为我应该使用的方法是RSACryptoServiceProvider.ImportCspBlob(byte[] keyBlob)
。 当我试图使用从证书导出的公钥时,出现证书头数据无效的错误。
我知道我可以将X509certificate2.PublicKey.Key
转换为RSACryptoServiceProvider
,但是从我的客户所了解的情况来看,我将只会给予公钥而不是证书。该密钥必须保存在.xml配置文件中。
所以总结一下:有没有一种方法可以在只给定证书的公钥的情况下生成RSACryptoServiceProvider
?