Bonjour à tous,

Je tente de me connecter à un serveur via HTTPS avec le bout de code suivant réalisé à partir de plusieurs sources trouvées sur le net :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
System.setProperty( "java.protocol.handler.pkgs" , "javax.net.ssl" );
java.security.Security.addProvider( new com.sun.net.ssl.internal.ssl.Provider() );
TrustManager[] trustAllCerts = new TrustManager[] {
           new X509TrustManager(){
                  public java.security.cert.X509Certificate[] getAcceptedIssuers(){
                         return null;
                  }
                  public void checkClientTrusted( java.security.cert.X509Certificate[] certs, String authType ) { }
                  public void checkServerTrusted( java.security.cert.X509Certificate[] certs, String authType ) { }
            }
};
 
SSLContext sc = SSLContext.getInstance( "SSL" );
sc.init( null, trustAllCerts, new java.security.SecureRandom() );
 
HttpsURLConnection.setDefaultSSLSocketFactory( sc.getSocketFactory() );
HttpsURLConnection conn = (HttpsURLConnection) new URL(uri).openConnection();
 
conn.connect();
 
System.out.println(conn.getResponseCode() == HttpsURLConnection.HTTP_OK);
Résultat de l'exécution :
java.net.SocketTimeoutException: connect timed out

D'après mes recherches sur le net, cela signifie que la connexion s'effectue (à l'inverse de connection refused), mais que le serveur ignore les paquets envoyés.

Y'a-t-il un moyen d'identifier la cause de cette ignorance du serveur ?

J'ai vu que plusieurs problèmes pouvait être à l'origine :
- Utilisation d'un proxy (dans mon cas je n'en utilise pas et je ne sais pas si j'en ai besoin ...)
- Mauvaise authentification ?

Merci par avance à ceux qui me répondront