【发布时间】:2014-05-29 07:21:02
【问题描述】:
我像这样生成一个密钥:
ssh-keygen -t rsa1 -b 768 -C 测试
我得到一个如下所示的公钥:
768 65537 1244818534536334574875801623177648392314095757825816788136360615069738317432684324135107640137961040160008388231420349935694006787032419425836353385388446738225464450963417153771331511902010734528761152834146019053540579969112124269 测试
我在导入公钥时遇到问题。据我所知,以下应该可以工作。对 FromXmlString() 的调用因 BadData 加密异常而失败。我不确定我做错了什么。
string rsaKeyValue = "<RSAKeyValue>";
rsaKeyValue += "<Modulus>";
rsaKeyValue += Convert.ToBase64String(Encoding.ASCII.GetBytes(openSSHKeySplit[2]));
rsaKeyValue += "</Modulus>";
rsaKeyValue += "<Exponent>";
rsaKeyValue += Convert.ToBase64String(Encoding.ASCII.GetBytes(openSSHKeySplit[1]));
rsaKeyValue += "</Exponent>";
rsaKeyValue += "</RSAKeyValue>";
mRSAContext.FromXmlString(rsaKeyValue); // This throws a BadData Crypto Exception
【问题讨论】:
-
我可以建议使用实际的 Xml Parser/Builder 而不是自己创建 xml 字符串吗?自己构建是一个糟糕的想法,可能会导致许多软件错误。