一个简短的问题:如果我有来自第三方的以下输入,我该如何填写 RSAParameters?:
模数:123456
指数:111
长话短说,我使用以下代码:
RSACryptoServiceProvider RSAalg = 新 RSACryptoServiceProvider(2048);
RSAParameters rsaPublic = RSAalg.ExportParameters(false);
然后我可以在 byte[] 中获取 rsa 公钥的模数和指数。为了将这些信息写成asn.1格式
RSAPublicKey ::= SEQUENCE {
modulus INTEGER, -- n
publicExponent INTEGER -- e
}
我使用 asn.1 库将 byte[] 转换为其 bigInteger 格式,但此 byte[] 的格式应为 {'0', '1', '2', '3', '4', ' 5', '6', '7', '8', '9'} 假设它是十进制。
但 rsaPublic.modulus 和 rsaPublic.exponent 似乎不是这种格式,模数和指数的 byte[] 中有很多非数字。那么 rsaPublic.modulus 和 rsaPublic.exponent 的格式是什么,以及如何将它们转换为像 {'0', '1', '2', '3', '4', '5 这样的 byte[] '、'6'、'7'、'8'、'9'}?
多谢