2015-02-05 3 views
0

내가하려고하는 것은 작은 테스트 프로그램을 작성하여 SSLSocket을 청취하고 (SSLS에서) PuTTY를 사용하여 연결 한 다음 Java에서 PuTTY 세션에 입력 한 행을 인쇄 해보십시오 측면. 현재 직면하고있는 문제는 악수입니다. sslsocket.startHandshake()가 완료되지 않고 그 시점에서 기다리고있는 것처럼 보입니다 (PuTTY를 죽일 때 "javax.net.ssl.SSLHandshakeException : 원격 호스트가 핸드 셰이크 중에 연결을 닫았습니다"예외 메시지가 표시됨).퍼티를 SSLSocket에 연결하기

keytool -genkeypair -keyalg RSA -alias test -keystore ks1.jks -storepass password1 -validity 360 -keysize 1024 

코드 :

... 
char[] keyPassword = "password1".toCharArray(); 
FileInputStream keyFile = new FileInputStream("ks1.jks"); 

KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType()); 
keyStore.load(keyFile, keyPassword); 

SSLServerSocketFactory sslserversocketfactory = (SSLServerSocketFactory) SSLServerSocketFactory.getDefault(); 
SSLServerSocket sslserversocket = (SSLServerSocket) sslserversocketfactory.createServerSocket(7777); 

SSLSocket sslsocket = (SSLSocket) sslserversocket.accept(); 
sslsocket.startHandshake(); 

InputStream inputstream = sslsocket.getInputStream(); 
InputStreamReader inputstreamreader = new InputStreamReader(inputstream); 
BufferedReader bufferedreader = new BufferedReader(inputstreamreader); 

String string = null; 
while ((string = bufferedreader.readLine()) != null) { 
    System.out.println(">" + string); 
    ... 
} 
... 
+2

SSH가 SSL이 아닙니다. – immibis

답변

2

PuTTY를 SSL을 모르는

다음

는 내 키 저장소를 만드는 데 사용되는 명령입니다.

SSH를 지원하며, 완전히 다른 프로토콜은 무엇입니까?

PuTTY도 원시 연결을 지원하지만 SSL은 바이너리 프로토콜이므로 콘솔에 SSL 패킷을 "입력"하는 것은 거의 불가능합니다.

+0

업데이트 해 주셔서 감사합니다. – indi

관련 문제