** 2016-07-08 추가 내용 **

SSL 관련 JAVA 설정이 필요 할때 참조 : https://www.facebook.com/lahuman/posts/1175481055835258



** 기존 내용 **


Jsch 라이브러리를 이용해서 ssh 접속을 문제 없이 하던 중, 갑자기 다음과 같은 오류 메시지를 만나게 될 경우 해결 방법 입니다.


com.jcraft.jsch.JSchException: Session.connect: java.security.NoSuchAlgorithmException: Algorithm DH not available

at com.jcraft.jsch.Session.connect(Session.java:558)



내용인 즉, DH 알고리즘이 없다는 내용이라 해당 알고리즘을 추가를 해야 합니다.



추가를 위해서는 bouncycastle 라이브러리가 필요 합니다.


라이브러리를 추가 하셨다면 jsch 호출 하기전에 Security 에서 제공자를 추가 합니다.


소스 코드는 다음과 같습니다.

Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());
java.security.KeyPairGenerator.getInstance("DH");
javax.crypto.KeyAgreement.getInstance("DH");


"Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());" 가 없을 경우, 에러가 발생하지만 제공자를 추가 하면 java.security.NoSuchAlgorithmException: Algorithm DH not available 와 같은 오류가 발생하지 않고 연결에도 문제가 없습니다.




Posted by lahuman