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