Galera to com uma dúvida punk a uns 4 dias, agora eu to na dúvida se realmente da pra fazer o que eu estou tentando.
Eu criei um Web Service que recebe como parâmetro um array de bytes (de uma chave pública) e uma String.
Testando o método ele funciona perfeitamente (antes de criar o WS), passo uma chave pública, ele faz uma consulta no banco, transforma pra XML, criptografa esse XML e depois eu descriptografo. Até ai tudo bem. O problema é agora que eu gerei o cliente com Axis 2.
Eu coloquei o seguinte código:
// Tipo criado automaticamente pelo AXIS2
ArrayOfbyte[] returnEnc = null;
KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA");
kpg.initialize(new RSAKeyGenParameterSpec(1024,
RSAKeyGenParameterSpec.F4));
KeyPair kpr = kpg.generateKeyPair();
Key pub = kpr.getPublic();
Key priv = kpr.getPrivate();
AmazonasWebServiceSeguroStub stub = new AmazonasWebServiceSeguroStub();
GetSaneamentoPorMunicipio sane = new GetSaneamentoPorMunicipio();
sane.setMunicipio("Coari");
ByteArrayDataSource ds = new ByteArrayDataSource(pub.getEncoded(),
null);
DataHandler dataHandler = new DataHandler(ds);
sane.setPubByte(dataHandler);
stub.getSaneamentoPorMunicipio(sane).get_return();
// Não sei como lidar com esse tipo
returnEnc = stub.getSaneamentoPorMunicipio(sane).get_return();
Não consigo ver se esta chegando uma resposta adequada do servidor, nem ao menos se está indo a chave para lá.
Não sei nem se é possível :?
Agradeço se alguém der uma ideia.
[]'s