【发布时间】:2019-09-22 09:31:46
【问题描述】:
我正在尝试将 RsaKeyParameter 公钥保存到 SQL 数据库中。我收到 Bouncy Castle 无法将 RsaKeyParameters 转换为字节的错误。
使用 BouncyCastle c#。
我生成了一个 RSA 密钥对,将私钥和公钥提取到变量中。然后,我需要存储公钥以供稍后在应用程序中进行验证。
我找到了一篇关于转换为字节然后字符串的帖子,如下所示;
byte[] serializedPublicBytes =
publicKeyInfo.ToAsn1Object().GetDerEncoded();
string serializedPublic = Convert.ToBase64String(serializedPublicBytes);
但它不喜欢 ToAsn1Object。只是添加这是一个示例,我知道我的变量名称不同。
RsaKeyPairGenerator rsaKeyPairGen = new RsaKeyPairGenerator();
rsaKeyPairGen.Init(new KeyGenerationParameters(new SecureRandom(), 2048));
AsymmetricCipherKeyPair keyPair = rsaKeyPairGen.GenerateKeyPair();
RsaKeyParameters PrivateKey = (RsaKeyParameters)keyPair.Private;
RsaKeyParameters PublicKey = (RsaKeyParameters)keyPair.Public;
公钥应该是字节,然后是字符串,以保存到数据库中。
【问题讨论】:
标签: c# rsa bouncycastle key-pair