我正在開發一個項目,我需要使用「公鑰」來使用RSA算法加密郵件。我被提供了一個證書,我的第一個想法是使用該證書中的公鑰,並且在調查之後,我瞭解到我需要使用RSACryptoServiceProvider
進行加密。從公鑰(不是證書)構造RSACryptoServiceProvider
我檢查了msdn,只有我以爲我應該使用的方法是RSACryptoServiceProvider.ImportCspBlob(byte[] keyBlob)
。 當我試圖使用從證書導出的公鑰時,出現證書頭數據無效的錯誤。
我知道我可以將X509certificate2.PublicKey.Key
轉換爲RSACryptoServiceProvider
,但是從我的客戶所瞭解的情況來看,我將只會給予公鑰而不是證書。該密鑰必須保存在.xml配置文件中。
所以總結一下:有沒有一種方法可以在只給定證書的公鑰的情況下生成RSACryptoServiceProvider
?