martes, 2 de diciembre de 2014

javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No subject alternative names present

¡Problemas para consumir un Web Services con SSL!!...

dump Error:
"Exception in thread "main" com.sun.xml.internal.ws.client.ClientTransportException: HTTP transport error: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No subject alternative names matching IP address IP found"

Explicación del problema:

No subject alternative names present

Sample Alt Name Stack Trace
javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No subject alternative names present
In most cases this is a hostname/SSL certificate CN mismatch. This commonly happens when a self-signed certificate issued to localhost is placed on a machine that is accessed by IP address. It should be noted that generating a certificate with an IP address for a common name, e.g. CN=192.168.1.1,OU=Middleware,dc=vt,dc=edu, will not work in most cases where the client making the connection is Java. For example the Java CAS client will throw SSL errors on connecting to a CAS server secured with a certificate containing an IP address in the CN.


La Solución es sobre escribir el método Java de verificación del HostName sobre la aplicación que consume el Web Service de la siguiente manera:
  static {
    HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() {
      public boolean verify(String hostname, SSLSession session) {
        if (hostname.equals("IP.IP.IP.IP")) {
          return true;
        }
        return false;
      }
    });
  }


Saludos!! Armando Mateu.

miércoles, 19 de noviembre de 2014

Como habilitar la depuración USB en Android KitKat


Para poder habilitar el modo de programador o desarrollador en versiones KitKat:


entramos a configuración :

vamos a la opción de "acerca del teléfono":


damos varios toques en la opción de "Numero de compilación":



entramos a la nueva opción de programador y habilitamos la "depuración por USB":




Saludos !!
Armando Mateu

jueves, 17 de julio de 2014

Como eliminar la ultima linea en blanco de un archivo con Java


Este programa muestra como eliminar el ultimo salto de línea de un archivo utilizando RandomAccessFile, sin la necesidad de recorrerlo línea por línea, esto es muy rápido y útil para archivos con más de 100 Mb que no se pueden abrir fácilmente y es mas tardado abrir el archivo para eliminar la linea a mano que utilizando este programa.

Código Java:

El programa recibe como parámetro un nombre de un archivo, que  buscara y validara que su ultima línea sea retorno de carro “\r” y la borrara.
Ejemplo:


Como ejecutar el ejecutar el programa desde una consola o terminal:

Java –jar UltimoSpacio.jar PRUEBA.txt



Si no eres mucho de utilizar la consola utiliza este pequeño bat :

@ECHO OFF 
SET /P file=Nombre del Archivo: 
java -jar UltimoSpacio.jar %file%
pause
exit

Ejecución del BAT:


Saludos !!
Armando Mateu.