2016-08-22 33 views
-1

有一個私鑰創建RSACryptoServiceProvide。我想用它來在RSA算法中籤名數據。 我知道如何使用證書來簽署數據。但我不以任何方式使用私有密鑰字符串格式創建和使用RSACryptoServiceProvider如何使用字符串私鑰

我的代碼看起來是這樣的。

string privateKey = "-----BEGIN PRIVATE KEY-----\nsometext\nsometext\nsometext\.....\n-----END PRIVATE KEY-----\n" 
var rasAlg = new RSACryptoServiceProvider()// how can i use my private key here. 
var signature = rasAlg.SignData(bytesArray, new SHA256CryptoServiceProvider()); 

編輯

如果任何人能幫助我創建x509證書,然後也很精緻。

+0

一種方式是'RSA.FromXmlString(專用密鑰)'存儲密鑰作爲XML – Plutonix

+0

@Plutonix當我將其導出到了XmlString然後將其輸出模量,指數,P,Q,DP,DQ,InverseQ,D.那麼,如何可以使用私鑰,能否請您解釋 –

+0

模量,P,Q,DP,DQ,InverseQ和d -are-私鑰。 (而且我們大多數圖書館也需要Exponent)。公鑰只是模數和指數。 – bartonjs

回答

-1

我發現充氣城堡庫有用。我用充氣城堡pem閱讀器從字符串中讀取它。

AsymmetricKeyParameter keyPair; 

using (var reader = new StringReader(privateKey)) 
    keyPair = (AsymmetricKeyParameter)new PemReader(reader).ReadObject(); 
相關問題