Preciso trafegar um vetor byte[] por parametro de um método get e a única maneira que consegui imaginar foi converte-lo para uma string o problema foi que tanto a conversão direta byte[].toString e depois String.getBytes(), quanto pegar cada valor byte do vetor converter para Byte e converte-lo com .toString(), para depois recuperar o byte com Byte.valueof(String). byteValue não recuperam o valor do vetor byte[] original.
Strings não são um sinônimo de um array de bytes. Como existe encoding, é muito comum perder informações no processo.
Então, ou você converte os bytes para uma representação textual (como sugeriu o colega), ou não faz o que você quer. Outra opção é usar algum método que gere um arquivo em BASE-64.
O ASP.NET costuma guardar informações de sessão como um na sua página. Ele contém uma informação codificada em uma versão modificada de Base-64 (é que a Base-64 normal contém “/” e “+” e “=” que são caracteres que podem dar problemas se a informação for devolvida via GET.