0

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

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

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

4

1 回答 1

1

公钥的逆运算应该是:

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

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

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

于 2013-06-24T12:12:32.580 回答