gpt4 book ai didi

java - 在证书的帮助下使用 SSL 套接字连接到服务器

转载 作者:太空宇宙 更新时间:2023-11-03 14:11:55 25 4
gpt4 key购买 nike

我有一个使用 SSL Socket 用 Ja​​va 编写的 SSL 服务器。服务器运行正常。现在我需要使用客户端应用程序连接到服务器。

客户端代码:

System.setProperty("javax.net.ssl.trustStore", "C:\\cacerts.jks");        
System.setProperty("javax.net.ssl.trustStorePassword", "changeit");

try {
SSLSocketFactory sslsocketfactory = (SSLSocketFactory) SSLSocketFactory.getDefault();
SSLSocket sslsocket = (SSLSocket) sslsocketfactory.createSocket("127.0.0.1", 800);

InputStream inputstream = System.in;
InputStreamReader inputstreamreader = new InputStreamReader(inputstream);
BufferedReader bufferedreader = new BufferedReader(inputstreamreader);

OutputStream outputstream = sslsocket.getOutputStream();
OutputStreamWriter outputstreamwriter = new OutputStreamWriter(outputstream);
BufferedWriter bufferedwriter = new BufferedWriter(outputstreamwriter);

bufferedwriter.write("test"+"\n");
bufferedwriter.flush();
bufferedwriter.close();

} catch (Exception exception) {
exception.printStackTrace();
}

在上面的代码中,我使用了与信任库相同的 keystore 文件。

在客户端使用相同的 keystore 文件作为信任库是个好主意吗?如果不是,我如何以安全的方式连接到服务器?

最佳答案

In the above code,i'm using the same keystore file as truststore.

不,你不是。您只使用信任库。如果您使用的是 keystore ,则必须指定它:

System.setProperty("javax.net.ssl.keyStore", ...);        
System.setProperty("javax.net.ssl.keyStorePassword", ...);

而且您当然应该为两者使用相同的文件。

关于java - 在证书的帮助下使用 SSL 套接字连接到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28555346/

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