gpt4 book ai didi

java - 将 Putty 连接到 SSLSocket

转载 作者:行者123 更新时间:2023-12-02 05:00:22 27 4
gpt4 key购买 nike

我想做的是编写一个小测试程序来监听 SSLSocket 并使用 PuTTY(在 SSH 中)连接到它,然后尝试打印我在 Java 端的 PuTTY session 中键入的行。我目前面临的问题是握手。看起来 sslsocket.startHandshake() 没有完成,它只是在等待(当我杀死 PuTTY 时,我收到“javax.net.ssl.SSLHandshakeException:握手期间远程主机关闭连接”异常消息)。

以下是我用来创建 key 存储的命令:

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);
...
}
...

最佳答案

PuTTY 不支持 SSL。

它支持 SSH,这是一个完全不同的协议(protocol)。

PuTTY 也支持原始连接,但由于 SSL 是二进制协议(protocol),因此几乎不可能在控制台上“输入”SS​​L 数据包。

关于java - 将 Putty 连接到 SSLSocket,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28334919/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com