2016-08-22 34 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(); 
相关问题