2012-09-24 211 views
2

我使用JSCH API查找RSA SSH密钥的长度。如何使用java查找SSH RSA密钥的密钥长度

我用下面的代码来做到这一点:

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

这将返回我总长度1024。我觉得它的错误与API本身。 任何人都可以请告诉我如何找到RSA/DSA SSH密钥的长度?

非常感谢。

+0

为什么你认为这不是在做你认为的事情? –

回答

3

我是JSch的作者。

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

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

无论如何,弄不好还会在未来的版本中提供,如果你不能等待它, 替换为以下KeyPairRSA#getKeySize(),

public int getKeySize(){ 
    return (new java.math.BigInteger(n_array)).bitLength(); 
}