gpt4 book ai didi

java - 如何从 Java 客户端通过 SSL 进行通信

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

我正在尝试通过 SSL 从客户端应用程序登录到 Web 服务器。

我不希望通过明文发送用户名和密码,因此我想使用网络服务器提供的 SSL 证书加密我的流量和后续的 REST 调用。

到目前为止,我的代码从服务器检索证书,并从中检索公钥。

        public void testConnectionTo(String aURL) throws Exception {
URL destinationURL = new URL(aURL);
HttpsURLConnection conn = (HttpsURLConnection) destinationURL
.openConnection();
conn.connect();
Certificate[] certs = conn.getServerCertificates();
for (Certificate cert : certs) {
System.out.println(cert.getPublicKey());

}

这将返回 3 个不同的 RSA 公钥。我使用哪一个,以及如何(在伪代码/代码中)使用此公钥来加密我的出站流量?

最佳答案

如果您使用 https:// 作为 URL 协议(protocol),底层连接将自动加密,您无需对连接的服务器证书执行任何操作。

您不需要采取任何其他操作来加密/解密流量。

检查证书的值(value)在于查看颁发机构是谁,以及您是否需要对证书进行额外验证......例如,如果您要验证证书是否已颁发给该站点您正在连接,以尝试检测是否有人正在使用不匹配的证书启动中间人。

但是就直线加密(防止窃听者)而言......这是自动完成的。

关于java - 如何从 Java 客户端通过 SSL 进行通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45617519/

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