Bonjour,
je commence avec android, je dois faire une connexion à un serveur qui accepte des connexions TCP avec le protocole SSL, donc j'ai utilisé la classe SSLSoCket, et j'ai fait d'abord un petit programme en java pour tester.
voici le programme Java :

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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
public static void main(String[] args) {
		 SSLSocketFactory sf = (SSLSocketFactory) SSLSocketFactory.getDefault();
		 byte[] buf = new byte[1024];
	    try {
	   		SSLSocket s = (SSLSocket) sf.createSocket("monserver.com",5555);
	    	//Socket s = new Socket("monserveur.com", 5555);
	   		//s.startHandshake();
	   		BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
	   		//InputStream in = s.getInputStream();
	   		//in.read();
	   		System.out.println(s.getEnabledProtocols().length);
	   		for(int i=0; i<s.getEnabledProtocols().length; i++){
	   			System.out.println(s.getEnabledProtocols()[i].getBytes()+"  ");
	   			String str = new String(s.getEnabledProtocols()[i].getBytes());
	   			System.out.println("protocole "+i+" "+str+"\n");
	   			System.out.println("session cliente "+s.getEnableSessionCreation());
 
	   		}
	   		System.out.println("taille du buffer reçu "+s.getReceiveBufferSize());
	   		System.out.println("port local "+s.getLocalPort());
	   		System.out.println("adresse serveur "+s.getInetAddress().getHostName());
	   		System.out.println("port serveur "+s.getPort());
	   		InputStream in = s.getInputStream();
	   		//in.read(buf, 0, 556);
	   		//s.startHandshake();
	   		//in.read();
			//br.readLine();
		} catch (UnknownHostException e) {
			System.err.println("erreur host"+e.getMessage());
 
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			System.err.println("erreur entrée sortie "+e.getMessage());
		}
 
	}
Mais voici l'exception que j'ai à l'exécution :

3
[B@12ad19e
protocole 0 SSLv2Hello

session cliente true
[B@281d4b
protocole 1 SSLv3

session cliente true
[B@19b5217
protocole 2 TLSv1

session cliente true
taille du buffer reçu 43690
port local 58116
adresse serveur monserveur.com
port serveur 5555
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:185)
at sun.security.ssl.InputRecord.readFully(InputRecord.java:312)
at sun.security.ssl.InputRecord.read(InputRecord.java:350)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:818)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1158)
at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:773)
at sun.security.ssl.AppInputStream.read(AppInputStream.java:94)
at Test.main(Test.java:40)
erreur entrée sortie Connection reset

Merci de m'aider si vous avez une solution.