gpt4 book ai didi

Java RMI SSL 存在 keystore /信任库错误?

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

使用以下代码通过 RMI 测试 ssl 连接:

public class HelloImpl extends UnicastRemoteObject implements Hello {
public HelloImpl() throws RemoteException {
super(0, new SslRMIClientSocketFactory(), new SslRMIServerSocketFactory());
}
public String sayHello() {
return "Hello World!";
}
public static void main(String args[]) throws Exception {
// Get reference to the RMI registry running on port 3000 in the local host
Registry registry = LocateRegistry.getRegistry(null, 3000);
// Bind this object instance to the name "HelloServer"
HelloImpl obj = new HelloImpl();
registry.bind("HelloServer", obj);
System.out.println("HelloServer bound in registry");
}
}

其余部分非常通用(从此处获取一些代码:http://blogs.oracle.com/lmalventosa/entry/using_the_ssl_tls_based),基本上是尝试进行仅服务器身份验证以使 SSL 正常工作。然而,得到这个烦人的错误:

     RMI RenewClean-[146.169.51.86:60013,javax.rmi.ssl.SslRMIClientSocketFactory@4a63d8], READ: TLSv1 Alert, length = 2
RMI RenewClean-[146.169.51.86:60013,javax.rmi.ssl.SslRMIClientSocketFactory@4a63d8], RECV TLSv1 ALERT: fatal, bad_certificate
RMI RenewClean-[146.169.51.86:60013,javax.rmi.ssl.SslRMIClientSocketFactory@4a63d8], called closeSocket()
RMI RenewClean-[146.169.51.86:60013,javax.rmi.ssl.SslRMIClientSocketFactory@4a63d8], Exception while waiting for close javax.net.ssl.SSLHandshakeException: Received fatal alert: bad_certificate
RMI RenewClean-[146.169.51.86:60013,javax.rmi.ssl.SslRMIClientSocketFactory@4a63d8], handling exception: javax.net.ssl.SSLHandshakeException: Received fatal alert: bad_certificate

从调试转储看来,他们确实尝试握手,交换对称 key ,但由于某些莫名其妙的原因在此期间失败了。在编译期间,我们指定了一个存储在文件夹中的信任库:

# $ java -Djavax.net.ssl.trustStore=truststore -Djavax.net.ssl.trustStorePassword=trustword HelloClient

非常感谢任何帮助!

最佳答案

在我看来,HelloImpl 服务器提供的证书有问题,这可能意味着您启动服务器的方式有问题,或者 key /证书生成过程有问题。你能跑吗

keytool -list -v -keystore keystore

在启动 HelloImpl 服务器的 keystore 上,也许使用 -Djavax.net.debug=SSL 启动服务器和客户端以查看是否有可用的附加信息? (如果是这样,请使用这些详细信息编辑您的问题)在不知道 keystore 和信任库的状态以及创建它们的过程的情况下,很难从上面判断错误可能是什么。

关于Java RMI SSL 存在 keystore /信任库错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2283577/

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