Uma das especificações do PAF-ECF é criptografar um bloco de dados 128 bytes gerados por outros passos anteriormente…
O problema é…
Se eu criptografar com RSA, ele não aceita, me retorna que pode somente criptografar 117 bytes no máximo…
Alguém já fez essa assinatura do EAD…quais os passos que usou para assinar?
o que eu fiz foi…
Gerei um MD5 do texto contido no arquivo…
Gerei um array de 128 bytes, onde a primeira posição é o num 16 que é o tamanho do hash
depois adicionei nesse array o hash md5 nas próximas posições que chega até a posicao 16 do array…
até aí tudo bem, mas daí quando vou passar esse array de bytes para criptografar em RSA, dá o erro…
o que devo fazer…
a rotina para criptografar que eu faço é
Signature sig = Signature.getInstance( "NONEwithRSA");
sig.initSign(pk);//pk é private key que passo como argumento para o método
sig.update(b,0,b.length);
byte[] retorno = sig.sign();
e o engraçado se eu passar um array de bytes menor, ele aceita e criptografa certo