【发布时间】:2015-11-10 14:44:16
【问题描述】:
我正在做一个项目,我需要使用“公钥”来使用 RSA 算法加密消息。我获得了证书,我的第一个想法是使用该证书中的公钥,经过调查,我了解到我需要使用 RSACryptoServiceProvider 进行加密。
我检查了 msdn,我认为应该使用的唯一方法是 RSACryptoServiceProvider.ImportCspBlob(byte[] keyBlob)。
当我尝试使用从证书导出的公钥时,我收到一个错误,即证书的标头数据无效。
我知道我可以将X509certificate2.PublicKey.Key 转换为RSACryptoServiceProvider,但据我的客户了解,今后我将只获得一个公钥而不是证书。此密钥必须保存在 .xml 配置文件中。
总结一下:有没有办法在只给定证书的公钥的情况下生成RSACryptoServiceProvider?
【问题讨论】:
标签: c# rsa x509certificate encryption-asymmetric