1
resposta

Comunicação com SSL

Estou querendo estabelecer uma comunicação criptografada com SSL. Tem uma arquivo crt que fica na pasta assets. Gostaria de saber se fizerem engenharia reversa em meu apk, o mesmo vai conseguir acesso ao crt? Outra coisa duvida também é que o cliente pediu para eu criptografar o JSON, isso não ficaria meio redundante?

métodos e criptografia

    public String encrypt(String plainText) throws Exception {
        cipher.init(Cipher.ENCRYPT_MODE, skeySpec, spec);
        //cipher.init(Cipher.ENCRYPT_MODE, secretKeySpec, spec);
        byte[] encrypted = cipher.doFinal(plainText.getBytes("UTF-8"));
        String encryptedText = new String(Base64.encode(encrypted,
                Base64.DEFAULT), "UTF-8");

        return encryptedText;
    }

    public String decrypt(String cryptedText) throws Exception {
        cipher.init(Cipher.DECRYPT_MODE, skeySpec, spec);
        //cipher.init(Cipher.DECRYPT_MODE, secretKeySpec, spec);
        byte[] bytes = Base64.decode(cryptedText, Base64.DEFAULT);
        byte[] decrypted = cipher.doFinal(bytes);
        String decryptedText = new String(decrypted, "UTF-8");

        return decryptedText;
    }
1 resposta

Oi Antonio, tudo bem? Acredito que se alguém conseguir fazer a engenharia reversa, vai conseguir sim ver o seu certificado.

Criptografar o json em uma conexão criptografada me parece sim redundante. Contudo, redundância não necessariamente é uma coisa ruim. Dependendo do caso, pode fazer sentido e ser necessário.