idrac啓動虛擬機報網絡中斷錯誤

分析兩個緣由以下:html

1  mac系統能夠用jdk8來打開虛擬機,可是win7不行,win7系統要用的jdk7的才能代開虛擬機java

2  idrac不容許兩個用戶同時用一個帳號啓動虛擬機。apache

 

 

 

 

參考文獻:服務器

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

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

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

順便在java 控制檯勾上TLS/1.1 TLS/1.2  TLS/1.0這樣就能夠打開idrac7,8的控制檯了,勾上TLS/1.X的步驟post

控制面板-->搜索java-->打開java-->高級-->勾選TLS/1.Xthis

 

轉: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.2spa

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.若是你以爲本文章有用而且對你有幫助,請用支付寶掃描下面的二維碼給我打賞。一塊兩塊不嫌少,一千兩千不嫌多。

相關文章
相關標籤/搜索