idrac启动虚拟机报网络中断错误

分析两个原因如下:

1  mac系统可以用jdk8来打开虚拟机,但是win7不行,win7系统要用的jdk7的才能代开虚拟机

2  idrac不允许两个用户同时用一个账号启动虚拟机。

参考文献:

https://www.itsec.vip/523.html

https://blog.csdn.net/xtj332/article/details/52228351

https://blog.csdn.net/kusedexingfu/article/details/79089117

顺便在java 控制台勾上TLS/1.1 TLS/1.2  TLS/1.0这样就可以打开idrac7,8的控制台了,勾上TLS/1.X的步骤

控制面板-->搜索java-->打开java-->高级-->勾选TLS/1.X

转:https://blog.csdn.net/xtj332/article/details/52228351

java http 客户端使用TSLv1.2[解决Remote host closed connection during handshake的问题]

1. jdk1.7默认是TSLv1, 但是可以支持TSLv1.1,TSLv1.2,jdk1.8默认是TSLv1.2

2.如果客服端是TSLv1,服务器端设置是TSLv1.2,访问会出现connection reset的错误.

3.既然jdk1.7可以支持TSLv1.2那么肯定有办法设置。网上找了好久,查询谷姐资料看说法最多的是加入jvm启动参数: -Dhttps.protocols=TLSv1.1,TLSv1.2 但是我试了没有用,还是报错。

4.用java程序查询自己当前程序默认支持的SSL/TSL版本的方法。

  1.  
    public static void main(String[] args) throws Exception {
  2.  
    SSLContext context = SSLContext.getInstance("TLS");
  3.  
    context.init(null, null, null);
  4.  
     
  5.  
    SSLSocketFactory factory = (SSLSocketFactory) context.getSocketFactory();
  6.  
    SSLSocket socket = (SSLSocket) factory.createSocket();
  7.  
     
  8.  
    String[] protocols = socket.getSupportedProtocols();
  9.  
     
  10.  
    System.out.println("Supported Protocols: " + protocols.length);
  11.  
    for (int i = 0; i < protocols.length; i++) {
  12.  
    System.out.println(" " + protocols[i]);
  13.  
    }
  14.  
     
  15.  
    protocols = socket.getEnabledProtocols();
  16.  
     
  17.  
    System.out.println("Enabled Protocols: " + protocols.length);
  18.  
    for (int i = 0; i < protocols.length; i++) {
  19.  
    System.out.println(" " + protocols[i]);
  20.  
    }
  21.  
     
  22.  
    }

5.通过GUI查询自己javaTSL版本。

  ①.打开Java Control Panel.

  ②.高级。拉到最下面。

                      

                                    

6.关门,放代码。继承import org.apache.http.impl.client.DefaultHttpClient;类,改了一点东西,使用的时候用SSLClien就好了。

  1.  
    import org.apache.http.impl.client.DefaultHttpClient;
  2.  
     
  3.  
    public class SSLClient extends DefaultHttpClient {
  4.  
    public SSLClient() throws Exception {
  5.  
    super();
  6.  
    SSLContext ctx = SSLContext.getInstance("TLSv1.2");
  7.  
    X509TrustManager tm = new X509TrustManager() {
  8.  
    @Override
  9.  
    public void checkClientTrusted(X509Certi<a target=_blank target="_blank" href="http://superuser.com/questions/747377/enable-tls-1-1-and-1-2-for-clients-on-java-7">http://superuser.com/questions/747377/enable-tls-1-1-and-1-2-for-clients-on-java-7</a>ficate[] chain, String authType) throws CertificateException {
  10.  
    }
  11.  
     
  12.  
    @Override
  13.  
    public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
  14.  
    }
  15.  
     
  16.  
    @Override
  17.  
    public X509Certificate[] getAcceptedIssuers() {
  18.  
    return null;
  19.  
    }
  20.  
    };
  21.  
    ctx.init(null, new TrustManager[] { tm }, null);
  22.  
    org.apache.http.conn.ssl.SSLSocketFactory ssf = new org.apache.http.conn.ssl.SSLSocketFactory(ctx,
  23.  
    org.apache.http.conn.ssl.SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
  24.  
    ClientConnectionManager ccm = this.getConnectionManager();
  25.  
    SchemeRegistry sr = ccm.getSchemeRegistry();
  26.  
    sr.register(new Scheme("https", 443, ssf));
  27.  
    }
  28.  
    }

7.如果你觉得本文章有用并且对你有帮助,请用支付宝扫描下面的二维码给我打赏。一块两块不嫌少,一千两千不嫌多。

原文地址:https://www.cnblogs.com/fyy-hhzzj/p/10183751.html