2012-09-24 1 views
2

JSCH API를 사용하여 RSA SSH 키 길이를 찾습니다.자바를 사용하여 SSH RSA 키의 키 길이를 찾는 방법

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

이 항상 길이 1024 .I이 API 자체의 버그를 생각하는 나에게 반환

나는 그렇게하려면 다음 코드를 사용합니다. 누구나 RSA/DSA SSH 키의 길이를 찾는 방법을 알려주시겠습니까?

미리 감사.

+0

을 KeyPairRSA # getKeySize()를 교체 이게 네가 생각하는대로하지 않는거야? –

답변

3

저는 JSch의 저자입니다.

KeyPair * 클래스의 버그 또는 불완전합니다. 그들은 단지 키 쌍 생성 목적으로 도입되었습니다. 그러나 내부 개발 버전에서 KeyPair * 클래스가 정밀 검사되었으며 해당 방법이 제대로 작동 한 경우 입니다.

#이 주제는 아니지만 퍼티의 개인 키 형식에 대한 지원이 보너스로 추가되었습니다! :-)

어쨌든, 수정은 다음 버전에서 사용할 수 있습니다, 당신이 그것을 기다릴 수없는 경우, 왜 생각, 다음과

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