1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

CRIPTOGRAFIA RSA - Ler public.key File (invalid key format)

Olá pessoal,

Sou iniciante em se tratando de criptografia, criei uma classe que criptografa em RSA, gerando a chave eu mesmo funcionou de boa, mas quando eu tentei usar a chave enviada pelo cliente não consigo, da erro quando eu tento dar load na public.key, alguem pode ajudar?

Este é o método que uso para pegar a chave:

public static PublicKey getChavePublic(){

        ObjectInputStream inputStream = null;

        try {
            // Criptografa a Mensagem usando a Chave Pública
            inputStream = new ObjectInputStream(new FileInputStream(PATH_CHAVE_PUBLICA));
            final PublicKey chavePublica = (PublicKey) inputStream.readObject();
            inputStream.close();

            return chavePublica;

        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        return null;
    }

O que da a exception:

java.io.StreamCorruptedException: invalid stream header: 4D494942
    at java.io.ObjectInputStream.readStreamHeader(Unknown Source)
    at java.io.ObjectInputStream.<init>(Unknown Source)
    at br.com.clubedevantagens.utils.EncriptaDecriptaRSA.getChavePublic(EncriptaDecriptaRSA.java:206)
    at br.com.clubedevantagens.utils.EncriptaDecriptaRSA.main(EncriptaDecriptaRSA.java:262)

O erro ocorre nessa linha:

inputStream = new ObjectInputStream(new FileInputStream(PATH_CHAVE_PUBLICA));

Uma luz por favor?

  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags criptografia ou faça a sua própria pergunta.