Bom dia Pessoal.
Estou com um problema há alguns dias e não saio do lugar.
Fiz um cliente para um WebService de uma empresa parceira e esse cliente envia a requisição via POST, protocolo HTTPS, com um parametro chamado xml que contém o xml do meu request. O body do xml é criptografado utilizando RSA, e codificado em BASE64 e URLEncoder. O request tem a seguinte aparência:<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE wsse SYSTEM "requestBody.dtd">
<wsse xmlns="http://www.w3.org/TR/xmlschema-1/">
<head>
<id>idDoCliente</id>
<encryption_method></encryption_method>
<signature></signature>
<digest>
<digest_method></digest_method>
<digest_value></digest_value>
</digest>
</head>
<body>
bodyCriptografado
</body>
</wsse>
PostMethod method = new PostMethod(host);
method.addParameter("xml", xmlRequest);
String resposta = method.getResponseBodyAsString());
Cipher cipher = Cipher.getInstance("RSA");
cipher.init(Cipher.ENCRYPT_MODE, serverPublicKey);
byte[] cifrado = cipher.doFinal(xmlBody.getBytes("ISO-8859-1"));
BASE64Encoder be = new BASE64Encoder();
String codificado = be.encode(cifrado);
String urlEncoder = URLEncoder.encode(codificado, "UTF-8");
Alguém já passou por algo parecido ou tem idéia do que pode ser?
Valeu galera,
um Abraço