我正在使用 JSCH API 来查找 RSA SSH key 的长度。
我使用以下代码来做到这一点:
KeyPairRSA KPR = (KeyPairRSA) KeyPairRSA.load(jsch, keypath);
System.out.println("size " +KPR.getKeySize());
这总是返回我的长度 1024 。我认为这是 API 本身的错误。 谁能告诉我如何查找 RSA/DSA SSH key 的长度?
提前非常感谢。
最佳答案
我是 JSch 的作者。
这是一个错误或 KeyPair* 类的不完整性。 它们刚刚被引入用于 key 对生成目的。 但是,在我们的内部开发版本中,KeyPair* 类已经过彻底修改,并且 这个方法效果很好。
# 这是题外话,但我们添加了对 Putty 私钥格式的支持,作为奖励! :-)
无论如何,该修复将在下一个版本中提供,如果您等不及了, 将 KeyPairRSA#getKeySize() 替换为以下内容,
public int getKeySize(){
return (new java.math.BigInteger(n_array)).bitLength();
}
关于java - 如何使用java查找SSH RSA key 的 key 长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12564787/