Cómo almacenar de forma segura una PrivateKey en código [duplicado]

Esta pregunta ya tiene una respuesta aquí:

¿Cómo guardo de forma segura las claves de cifrado en Java? 4 respuestas

Estoy trabajando en un proyecto de software donde la aplicación terminará ejecutándose en un entorno no confiable. Tengo la necesidad de realizar alguna firma criptográfica auxiliar (lo que significa que este no es el medio principal para proteger los datos), pero no deseo dejar la clave a la vista como tal:

private static final String privateKey = "00AABBCC....0123456789";

¿Qué método puedo usar para asegurar esto razonablemente? Soy consciente de que nada es una prueba completa, pero esto agregará una capa adicional en el muro de seguridad.

Para aclarar: tengo lo que es esencialmente una cadena que no deseo haber extraído fácilmente en un depurador o mediante reflexión. Soy consciente de que la descompilación del archivo de clase podría hacer que esto sea discutible, pero ese es un riesgo aceptable.

bviamente, almacenar la clave fuera del sitio sería ideal, pero no puedo garantizar el acceso a Internet.

Respuestas a la pregunta(5)

Su respuesta a la pregunta