gpt4 book ai didi

服务器和客户端之间使用 vertx 的 SSL 连接

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

我正在尝试使用 vertx 实现服务器和客户端之间的 SSL 连接。我已经生成服务器证书并存储在 keystore 中,从 keystore 中提取证书并将其导入到信任库中。但是当我尝试将服务器连接到客户端时,出现以下错误: javax.net.ssl.SSLException:收到致命警报:certificate_unknown

生成的 keystore.jks 和 truststore.jks,我将其保存在单独的文件夹中,我在我的代码中引用了这个位置。

使用我在下面完成的顶点,服务器代码:

HttpServer server =vertx.createHttpServer(new HttpServerOptions().setSsl(true).setKeyStoreOptions(
new JksOptions().setPath("C:\\Desktop\\keystore.jks").setPassword("xxxxx")
));
// Creating HttpServer
server.requestHandler(router::accept).listen((int) configs.get(Constants.PORT));

客户端代码:

 WebClientOptions options = new WebClientOptions();
options.setKeepAlive(config().getBoolean("webClient.keepAlive", true));
options.setMaxPoolSize(config().getInteger("webClient.maxPoolSize", 200));
options.setSsl(true);
options.setTrustStoreOptions(new JksOptions()
.setPath("C:/Desktop/truststore.jks")
.setPassword("xxxxx")
);
WebClient webClient = WebClient.create(vertx, options);

服务器端:

io.netty.handler.codec.DecoderException: javax.net.ssl.SSLException: Received fatal alert: certificate_unknown
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:459)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:265)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)

客户端:

Caused by: java.security.cert.CertificateException: No name matching localhost found
at sun.security.util.HostnameChecker.matchDNS(HostnameChecker.java:231)
at sun.security.util.HostnameChecker.match(HostnameChecker.java:96)

Caused by: javax.net.ssl.SSLHandshakeException: General SSLEngine problem
at sun.security.ssl.Handshaker.checkThrown(Handshaker.java:1521)
at sun.security.ssl.SSLEngineImpl.checkTaskThrown(SSLEngineImpl.java:528)

最佳答案

我试图用主机名调用服务器 api:localhost。但是在生成证书时我给了 CN 其他东西。当我尝试使用相同的 CN 调用 api 时 - 工作正常。

关于服务器和客户端之间使用 vertx 的 SSL 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56561526/

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