gpt4 book ai didi

ssl - gRPC SSL 不存在主题替代名称

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

如何禁用 gRPC 中的主机名验证器以避免下面的异常?

java.security.cert.CertificateException: No subject alternative names present

最佳答案

在主机名不匹配的情况下使用测试证书的推荐方法是调用 ManagedChannelBuilder.overrideAuthority("test-hostname")。这在功能上类似于将测试主机名添加到 /etc/hosts。这允许您使用 forAddress()/forTarget() 选择不同的 IP/DNS 名称,而无需禁用安全性。

但是您的证书似乎还是有点损坏。主题备用名称是必需的;使用证书的主题已被弃用数十年。

您可能还对使用 gRPC's test certificates 感兴趣.我们提供TlsTesting加载它们。

server = ServerBuilder.forPort(0)
// Use test cert on server-side
.useTransportSecurity(
TlsTesting.loadCert("server1.pem"),
TlsTesting.loadCert("server1.key"))
// ...
.build().start();

channel = NettyChannelBuilder
.forAddress("localhost", server.getPort())
// Trust test CA on client-side
.sslContext(
GrpcSslContexts.forClient()
.trustManager(TlsTesting.loadCert("ca.pem"))
.build())
// Change hostname to match certificate
.overrideAuthority("foo.test.google.fr")
.build();

关于ssl - gRPC SSL 不存在主题替代名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54575904/

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