No ha encontrado la respuesta aquí? Regístrate, preguntar y obtener una respuesta adecuada en cuestión de minutos!
  • Username:

Para poder verificar esta petición, por favor escribe en el campo de abajo lo siguiente: forodejava

Password:
Confirm Password:
Your Email:
Confirm Email:
Página 1 de 2 12 ÚltimoÚltimo
Resultados 1 al 10 de 12
  1. #1
    Fecha de ingreso
    06 feb, 12
    Mensajes
    11
    Post Thanks / Like
    Poder de reputación
    0

    Predeterminado Certificados en JAVA

    Hola necesito ayuda con los certificados en java, mas precisamente mi pregunta es como le digo a java que confie en mi certificado (arba.crt) y como leerlo desde el codigo de mi aplicacion?

    La solución completa para el hilo: aquí.


  2. #2
    Fecha de ingreso
    03 ago, 11
    Ubicación
    Panamá
    Mensajes
    450
    Post Thanks / Like
    Poder de reputación
    894

    Predeterminado

    Buscate un programa que se llama KeyTool UI, existen otros pero este es gráfico y te puede ser más fácil.
    Luego pasas tú certificado a extensión .jks y ks.

    Luego en tú código pones lo siguiente:


    Código PHP:
    java.lang.System.setProperty("sun.security.ssl.allowUnsafeRenegotiation""true");
    System.setProperty("javax.net.ssl.keyStore""/certificado1.jks");
    System.setProperty("javax.net.ssl.keyStorePassword""clave1");
    System.setProperty("javax.net.ssl.trustStore""/certificado1.ks");
    System.setProperty("javax.net.ssl.trustStorePassword""clave1"); 

  3. #3
    Fecha de ingreso
    06 feb, 12
    Mensajes
    11
    Post Thanks / Like
    Poder de reputación
    0

    Predeterminado

    sigo los pasos pero me lanza la excepción "javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated"

  4. #4
    Fecha de ingreso
    06 feb, 12
    Mensajes
    11
    Post Thanks / Like
    Poder de reputación
    0

    Predeterminado

    Esta es mi clase: yo me tengo que conectar con https://cot.test.arba.gov.ar/Transpo...ntarRemitos.do


    class SolicitudHttp {

    public void generar(String url, String user, String password, String pathArchivoRemitos, String xmlDestino) throws IOException, KeyStoreException, NoSuchAlgorithmException, CertificateException, KeyManagementException {

    //Defino los atributos de la clase
    DefaultHttpClient client = new DefaultHttpClient(); //Creo el cliente para la aplicación.
    HttpPost post = new HttpPost(url); //Creo el método POST pasandole la url.
    MultipartEntity entity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIB LE); //Creo una Entidad multiparte.
    File f = new File(pathArchivoRemitos); //Creo el archivo donde se encuentran los remitos.



    try {//PETICIÓN (Request)
    //Creo las partes y las agrego a la entidad multiparte.
    entity.addPart("user", new StringBody(user, "text/plain", Charset.forName("UTF-8")));
    entity.addPart("password", new StringBody(password, "text/plain", Charset.forName("UTF-8")));
    entity.addPart("file", new FileBody(((File) f), "application/zip"));

    //Agrego la entidad al método POST
    post.setEntity(entity);


    //RESPUESTA (Response)
    //Ejecuto el método POST y cargo en una variable String la respuesta.
    String response = EntityUtils.toString(client.execute(post).getEntit y(), "UTF-8");

    //Creo los objetos necesarios para escribir en un archivo.
    File xmlfile = new File(xmlDestino);
    BufferedWriter writer = null;
    writer = new BufferedWriter(new FileWriter(xmlfile));

    //Escribo el código XML en el archivo
    writer.write(response);

    //Cierro el archivo (Esto es importante!!!)
    writer.close();

    } catch (Exception e) {
    e.printStackTrace();

    } finally {
    //Cierro la conexión
    client.getConnectionManager().shutdown();
    }



    public static void main(String args[]) throws IOException, KeyStoreException, NoSuchAlgorithmException, CertificateException, KeyManagementException {

    System.setProperty("javax.net.ssl.keyStore", "keystore.jks");
    System.setProperty("javax.net.ssl.keyStorePassword ", "53G35SIST");
    System.setProperty("javax.net.ssl.keyStoreType", "JKS");

    System.setProperty("javax.net.ssl.trustStore", "truststore.jks");
    System.setProperty("javax.net.ssl.trustStorePasswo rd", "53G35SIST");
    System.setProperty("javax.net.ssl.trustStoreType", "JKS" );


    SolicitudHttp solicitudHttp = new SolicitudHttp();
    Properties p = new Properties();

    try {
    p.load(new FileInputStream("configCot.txt"));
    solicitudHttp.generar(p.getProperty("url"), p.getProperty("user"), p.getProperty("password"), p.getProperty("pathArchivoRemitos"), p.getProperty("xmlDestino"));
    } catch (Exception e) {
    System.out.println("El archivo no existe o la ruta o los valores del contenido son incorrectos");
    }
    }
    }

    }
    }

  5. #5
    Fecha de ingreso
    03 ago, 11
    Ubicación
    Panamá
    Mensajes
    450
    Post Thanks / Like
    Poder de reputación
    894

    Predeterminado

    Bueno esto no lo he probado, pero intenta poniendo este código de primero en el método generar.

    Código PHP:
    Protocol protocolo = new Protocol"https", new EasySSLProtocolScoketFactory(), 443);
    Protocol.registerProtocol("https",protocolo); 
    Nos cuentas como te fue, saludos.

  6. #6
    Fecha de ingreso
    06 feb, 12
    Mensajes
    11
    Post Thanks / Like
    Poder de reputación
    0

    Predeterminado

    lo probe y sigo con el mismo problema.

  7. #7
    Fecha de ingreso
    03 ago, 11
    Ubicación
    Panamá
    Mensajes
    450
    Post Thanks / Like
    Poder de reputación
    894

    Predeterminado

    Ok, puede ser que no encuentra los archivos de extensión jks, ponle la ruta completa donde los tiene, algo así:

    Código PHP:
    System.setProperty("javax.net.ssl.keyStore""c:\\carpeta\\keystore.jks"); 

  8. #8
    Fecha de ingreso
    06 feb, 12
    Mensajes
    11
    Post Thanks / Like
    Poder de reputación
    0

    Predeterminado

    yo tengo creado el keystore, pero me parece que me falta el truststore, como lo creo?

  9. #9
    Fecha de ingreso
    03 ago, 11
    Ubicación
    Panamá
    Mensajes
    450
    Post Thanks / Like
    Poder de reputación
    894

    Predeterminado

    De la misma forma que creaste el keystore solo que le pones de extensión .ks

  10. #10
    Fecha de ingreso
    06 feb, 12
    Mensajes
    11
    Post Thanks / Like
    Poder de reputación
    0

    Predeterminado

    No ha encontrado la
    respuesta aquí?
    Regístrate, preguntar y
    obtener una respuesta
    adecuada en cuestión de minutos!


    Un registro de minutos: clic

    Sin publicidad para los miembros!
    segui los pasos de esta pagina http://www.techbrainwave.com/?p=953 y no me anda!

Página 1 de 2 12 ÚltimoÚltimo

Temas similares

  1. Ventana de selección de certificados
    Por fdiaz en el foro Java avanzado
    Respuestas: 0
    Último mensaje: 09/08/2010, 12:13
  2. Certificados en java
    Por quenepa en el foro Java avanzado
    Respuestas: 2
    Último mensaje: 11/11/2008, 11:34

Etiquetas para este tema

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •