将Bouncycastle与C#一起使用,反向操作是什么:
byte[] publicKey;
AsymmetricKeyParameter asymmetricKeyParameter = PublicKeyFactory.CreateKey(publicKey);
RsaKeyParameters rsaKeyParameters = (RsaKeyParameters)asymmetricKeyParameter;
即。我有一个包含公钥的RsaKeyParameters
对象,并希望将其转换为字节数组,以便我可以将其反馈回PublicKeyFactory.CreateKey()
答案 0 :(得分:1)
公钥的逆操作应为:
byte[] publicKey = SubjectPublicKeyInfoFactory.CreateSubjectPublicKeyInfo(rsaKeyParameters).GetDerEncoded();
该工厂类位于Org.BouncyCastle.X509命名空间中。
对于私钥,相应的工厂类是Org.BouncyCastle.Security.PrivateKeyFactory和Org.BouncyCastle.Pkcs.PrivateKeyInfoFactory / EncryptedPrivateKeyInfoFactory。