Foros del Web » Programación para mayores de 30 ;) » Java »

servidor socket SSL

Estas en el tema de servidor socket SSL en el foro de Java en Foros del Web. hola! no consigo que funcione este código, que a priori no parece ser complicado: Código: ServerSocket server = (ServerSocket)null; try { ServerSocketFactory ssocketFactory = SSLServerSocketFactory.getDefault(); ...
  #1 (permalink)  
Antiguo 16/05/2011, 02:46
 
Fecha de Ingreso: marzo-2009
Mensajes: 509
Antigüedad: 15 años, 8 meses
Puntos: 17
servidor socket SSL

hola! no consigo que funcione este código, que a priori no parece ser complicado:

Código:
	ServerSocket server = (ServerSocket)null;
		try {
      
		    ServerSocketFactory ssocketFactory = SSLServerSocketFactory.getDefault();
		    server = ssocketFactory.createServerSocket(4321);
		    while(true){
        		Socket client = server.accept();
            	InputStream aux = client.getInputStream();
            	DataInputStream flujo = new DataInputStream( aux );

            	System.out.println(flujo.readUTF());
            	
            	OutputStream bufferSalida = client.getOutputStream();  
            	DataOutputStream datos = new DataOutputStream(bufferSalida);  
            	
            	datos.writeUTF("hola");
		    }
        
		} catch(IOException e) {
        	e.printStackTrace();
        }
para ejecutarlo hago:

Código:
 java -Djavax.net.ssl.keyStore=almacenClaves -Djavax.net.ss.keyStorePassword=contrasena serverSSL
me salta una excepción enorme:

Código:
java.net.SocketException: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl)
        at javax.net.ssl.DefaultSSLServerSocketFactory.throwException(SSLServerSocketFactory.java:142)
        at javax.net.ssl.DefaultSSLServerSocketFactory.createServerSocket(SSLServerSocketFactory.java:149)
        at serverSSL.main(serverSSL.java:18)
Caused by: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl)
        at java.security.Provider$Service.newInstance(Provider.java:1245)
        at sun.security.jca.GetInstance.getInstance(GetInstance.java:220)
        at sun.security.jca.GetInstance.getInstance(GetInstance.java:147)
        at javax.net.ssl.SSLContext.getInstance(SSLContext.java:125)
        at javax.net.ssl.SSLContext.getDefault(SSLContext.java:68)
        at javax.net.ssl.SSLServerSocketFactory.getDefault(SSLServerSocketFactory.java:96)
        at serverSSL.main(serverSSL.java:17)
Caused by: java.security.UnrecoverableKeyException: Password must not be null
        at sun.security.provider.JavaKeyStore.engineGetKey(JavaKeyStore.java:107)
        at sun.security.provider.JavaKeyStore$JKS.engineGetKey(JavaKeyStore.java:38)
        at java.security.KeyStore.getKey(KeyStore.java:763)
        at com.sun.net.ssl.internal.ssl.SunX509KeyManagerImpl.<init>(SunX509KeyManagerImpl.java:113)
        at com.sun.net.ssl.internal.ssl.KeyManagerFactoryImpl$SunX509.engineInit(KeyManagerFactoryImpl.java:48)
        at javax.net.ssl.KeyManagerFactory.init(KeyManagerFactory.java:239)
        at com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl.getDefaultKeyManager(DefaultSSLContextImpl.java:170)
        at com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl.<init>(DefaultSSLContextImpl.java:40)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at java.lang.Class.newInstance0(Class.java:355)
        at java.lang.Class.newInstance(Class.java:308)
        at java.security.Provider$Service.newInstance(Provider.java:1221)
        ... 6 more
¿alguien sabría ayudarme?

Gracias!!
  #2 (permalink)  
Antiguo 16/05/2011, 10:09
Avatar de nup_  
Fecha de Ingreso: noviembre-2010
Mensajes: 265
Antigüedad: 14 años
Puntos: 32
Respuesta: servidor socket SSL

Hola:

En las propiedades para ejecutarlo pones:
-Djavax.net.ss.keyStorePassword=...

debería ser:
-Djavax.net.ssl.keyStorePassword=...



saludos;

Nup_
  #3 (permalink)  
Antiguo 16/05/2011, 11:01
 
Fecha de Ingreso: marzo-2009
Mensajes: 509
Antigüedad: 15 años, 8 meses
Puntos: 17
Respuesta: servidor socket SSL

vaya! muchísimas gracias! que dificiles de encontrar son estos errores!! nunca me habría dado cuenta yo sola.

Gracias!!

Etiquetas: servidor, socket, ssl
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:03.