2

我正在使用 JSCH API 来查找 RSA SSH 密钥的长度。

我使用以下代码来做到这一点:

KeyPairRSA KPR = (KeyPairRSA) KeyPairRSA.load(jsch, keypath);
System.out.println("size " +KPR.getKeySize());

这总是返回长度 1024 。我认为它的错误与 API 本身有关。谁能告诉我如何找到 RSA/DSA SSH 密钥的长度?

提前非常感谢。

4

1 回答 1

3

我是JSch的作者。

这是一个错误或 KeyPair* 类的不完整。它们刚刚被引入用于密钥对生成目的。但是,在我们的内部开发版本中,KeyPair* 类已经过大修,并且该方法运行良好。

# 这是题外话,但我们添加了对 Putty 私钥格式的支持,作为奖励!:-)

无论如何,该修复将在下一个版本中提供,如果您等不及,请将 KeyPairRSA#getKeySize() 替换为以下内容,

public int getKeySize(){
  return (new java.math.BigInteger(n_array)).bitLength();
}
于 2012-09-25T04:58:28.213 回答