当前位置: 代码迷 >> C# >> PKCS8转rsa,相干支付宝私钥
  详细解决方案

PKCS8转rsa,相干支付宝私钥

热度:551   发布时间:2016-05-05 02:49:57.0
PKCS8转rsa,有关支付宝私钥
商户给了个pkcs8转过的密钥,请问,如何转成普通的私钥。。
我用c#写。。是否有代码。或者 oppsel直接打命令转。文件为pem
------解决思路----------------------
nuget 引用 BouncyCastle,然后:

RsaPrivateCrtKeyParameters key;
using (var sr = new StreamReader("e:\\key_pk8.pem"))
{
var pemReader = new Org.BouncyCastle.OpenSsl.PemReader(sr);
key = (RsaPrivateCrtKeyParameters)pemReader.ReadObject();
}
var p = new RSAParameters {
Modulus = key.Modulus.ToByteArrayUnsigned(),
Exponent = key.PublicExponent.ToByteArrayUnsigned(),
D = key.Exponent.ToByteArrayUnsigned(),
P = key.P.ToByteArrayUnsigned(),
Q = key.Q.ToByteArrayUnsigned(),
DP = key.DP.ToByteArrayUnsigned(),
DQ = key.DQ.ToByteArrayUnsigned(),
InverseQ = key.QInv.ToByteArrayUnsigned(),
};
var rsa = new RSACryptoServiceProvider();
rsa.ImportParameters(p);
using (var sw = new StreamWriter("e:\\key.xml"))
{
sw.Write(rsa.ToXmlString(true));
}
输出的就是 RSACryptoServiceProvider 可以用的 xml 格式的密钥。
  相关解决方案