Assinatura e certificado digital através de sockets

Olá Pessoal, fiz um comunicador em Java usando Sockets e ServerSockets. Gerei um certificado digital com keytool que funcionou bem. O problema é que na hora que eu envio a assinatura para ser verificada do outro lado eu consigo envia-la no formato byte[] com o comando outStream.write(assinatura) e outStream.flush(). Mas como recebe-la do outro lado se no streamIn.readUTF() só recebe String e o streamIn.readByte() só recebe um byte por vez? Eu até fiz a assinatura.toString() pra enviar com writeUTF() e depois de recebe-la do outro lado como String eu fiz assinatura.getBytes() para transformá-la de novo em byte[] mas o programa de criptografia não aceitou essa transformação no meio do caminho pois com um main() na classe de critografia ele confirma certo a assinatura mas nesse mesmo main quando eu transformo em string e volto dá a mesma mensagem de erro e não autentica…
Alguém pode me ajudar? Desde já muito obrigado.

Não entendi muito bem seu problema, mas, vc já tentou codificar a stream antes de transmití-la pela rede ?

Faz um encode base64 antes de mandar um decode na hora de ler.

Flw

Obrigado amigo Lucas, mas o que eu preciso é enviar e receber uma mensagem de texto no formato byte[].
Mas se eu colocar dentro de um objeto essa mensagem será que eu consigo enviá-lo? tem que fazer serializable?
e qual é o método do outputStream que envia um objeto? e pra recebe-lo? será que o flush resolve?

Geraldo,

Sempre que você serializa algo pra mandar pela rede, será transmitido via byte[].

Na verdade, seu problema deve ser com o encoding… Por isso eu falei pra você fazer o encode/decode base64 da stream.

Pra fazer o base64, você pode usar a classe org.apache.commons.codec.binary.Base64 do commons-codec (http://commons.apache.org/codec/)

Caso voce realmente precise serializar objetos, use java.io.ObjectOutputStream.writeObject(…) e java.io.ObjectInputStream.readObject()

Olá! Muito obrigado amigo pelos conselhos… Deu certo!
O problema era o enconding mesmo…
Valew também pelas dicas do envio de objetos serializados
Falou