对“PublicKeyFactory.CreateKey()”的反向操作

时间:2013-06-18 01:02:07

标签: c# .net bouncycastle

将Bouncycastle与C#一起使用,反向操作是什么:

byte[] publicKey;
AsymmetricKeyParameter asymmetricKeyParameter = PublicKeyFactory.CreateKey(publicKey);
RsaKeyParameters rsaKeyParameters = (RsaKeyParameters)asymmetricKeyParameter;

即。我有一个包含公钥的RsaKeyParameters对象,并希望将其转换为字节数组,以便我可以将其反馈回PublicKeyFactory.CreateKey()

1 个答案:

答案 0 :(得分:1)

公钥的逆操作应为:

byte[] publicKey = SubjectPublicKeyInfoFactory.CreateSubjectPublicKeyInfo(rsaKeyParameters).GetDerEncoded();

该工厂类位于Org.BouncyCastle.X509命名空间中。

对于私钥,相应的工厂类是Org.BouncyCastle.Security.PrivateKeyFactory和Org.BouncyCastle.Pkcs.PrivateKeyInfoFactory / EncryptedPrivateKeyInfoFactory。