CRIPTOGRAFIA invalid stream header null

3 respostas
A

Alguem pode me dizer o que é esse erro??? to procurando e não consigo encontrar nada a respeito.
O problema é o seguinte: tenho um certificado com uma chave pública e uma chave privada, extrai a chave publica pra poder criptografar o texto, o erro se da justamente nesa linha

ObjectInputStream in = new ObjectInputStream(new FileInputStream(“c:/bookPublico.x509”));

quando ele chega ai da erro :frowning:

3 Respostas

louds

O arquivo está em qual formato? x509 ou serialização java?

E

o certo nao seria usar a chave privada para criptografar?

T

Eu me lembro que a implementação de X509Certificate da Sun, embora devesse ser serializável (porque alguma das interfaces, não lembro qual delas, estende Serializable), não é serializável, pelo menos na versão 1.3. Sei lá se eles corrigiram esse problema na versão 1.4 do Java.
Portanto esse tal arquivo .x509 não deve ter sido criado com ObjectOutputStream. Você tem de:

  • Ver se o arquivo com certificado está em formato PEM (ou seja, BASE-64) ou DER (ou seja, binário).
  • Se estiver em binário, ler os bytes em um byte[]
  • Usar CertificateFactory para gerar um certificado a partir dos bytes lidos. Deve ter um exemplo desse no Java Almanac ( www.javaalmanac.com )
Criado 5 de abril de 2005
Ultima resposta 7 de abr. de 2005
Respostas 3
Participantes 4