Pessoal,
estou com um problema para enviar dados atraves de um POST para um site
seguro. Estou fazendo a conexao com o servidor seguro e tudo funciona
direitinho. Eu adicionei o certificado do site para o meu arquivo cacerts e ele
estah sendo aceito. Entretanto, quando tento fazer o POST, o site me redirecina
para uma pagina qualquer.
Eu acho, que o servidor requisita um certificado para poder
promover a minha autenticacao, e eu nao estou fazendo isso. Como isso pode ser
feito? Como eu posso usar a classe X509KeyManager para espeficar uma chave para poder
me identificar?
Nao sei se estou certo, por isso peco a ajuda de voces. Se alguem tiver um
codigo que promove um POST num site seguro, e que funcione, por favor nao deixe
de se manifestar. Logo abaixo segue o codigo do metodo que faz o POST.
/* Envia data para url via post */
public void doMessage(String method) {
try {
System.getProperties().put("java.protocol.handler.pkgs","com.sun.net.ssl.internal.www.protocol");
java.security.Security.addProvider(new
com.sun.net.ssl.internal.ssl.Provider());
URL myURL = new URL(this.Url);
HttpURLConnection con = (HttpURLConnection) myURL.openConnection();
con.setRequestMethod(method); // Para POST - method = "POST"
con.setUseCaches(false);
con.setDoOutput(true);
con.setAllowUserInteraction(true);
con.setRequestProperty("Accept","*/*");
con.setRequestProperty("Content-type",
"application/x-www-form-urlencoded");
PrintWriter myOut = new PrintWriter(con.getOutputStream());
myOut.println(Data + "&"); // Data = Parametros para o POST
myOut.close();
int i = con.getResponseCode();
BufferedReader myIn = new BufferedReader(new
InputStreamReader(con.getInputStream()));
String line = null;
StringBuffer sb = new StringBuffer();
while ((line = myIn.readLine()) != null) {
sb.append(line + "\n");
}
myIn.close();
con.disconnect();
this.Result = sb.toString();
}
catch(MalformedURLException e) {
e.printStackTrace();
System.out.println("Problema na confeccao da URL");
System.out.println(e.getMessage());
}
catch(IOException e) {
e.printStackTrace();
System.out.println("Problema de IO");
System.out.println(e.getMessage());
}
} /* doMessage */
Agradeco antecipadamente.
Abracos,
Bruno Augusto Vivas e Possas
<[EMAIL PROTECTED]>
<[EMAIL PROTECTED]>
Linux user number 100453
<http:/www.dcc.ufmg.br/~bavep>
--------------------------- LISTA SOUJAVA ---------------------------
http://www.soujava.org.br - Sociedade de Usu�rios Java da Sucesu-SP
[para sair da lista: http://www.soujava.org.br/forum/cadastrados.htm]
---------------------------------------------------------------------