我有一个码头网络服务器。我正在尝试将证书注册到信任库中。
证书已正确注册,但是当客户端尝试使用已注册的证书进行身份验证时,在信任库中找不到证书。
但是证书在信任库中,但还没有被码头加载。
同样的问题发生在 tomcat 中,但是当我使用 jmx 重新启动 CONNectorMBean 时,它开始工作。
现在在码头中,当我使用 JMX 重新启动 sslsocketconnector 时,它会重新启动但连接中断,因此我无法重新加载证书,然后在从信任库加载证书后将消息发送回客户端。
我正在尝试使用以下代码重新启动 sslsocketconnector
try{
MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer();
Set names = mBeanServer.queryNames(new ObjectName("*:*"), null);
Iterator it=names.iterator();
while( it.hasNext()) {
ObjectName oname= (ObjectName)it.next();
MBeanInfo minfo = mBeanServer.getMBeanInfo(oname);
if (minfo.getClassName().equals("org.mortbay.jetty.security.SslSocketConnector")) {
System.out.println("found ssl socket connector... will try to restart it");
System.out.println("Restarting SSL Connector on port ");
Object params[] = {};
String signature[] = {};
;
/**
* Stop and restart the connector to get it to re-read the certificate trustfile
*/
mBeanServer.invoke(oname, "stop", params, signature);
mBeanServer.invoke(oname, "start", params, signature);
}
}
}
catch (Exception e) {
System.out.println("Did not restart SSL Connector: " + e);
e.printStackTrace();
throw e;
}
谁能告诉我在不重新启动服务器和破坏现有套接字的情况下在信任库中重新加载证书的好方法?
谢谢