Quiero pasar una contraseña encriptada a otro programa para descifrar

2

Estoy intentando hacer algo similar a this o this .

He logrado dividir la segunda publicación en dos archivos jar. Quiero poder usar una línea de comandos, pasarle una contraseña y generar una contraseña cifrada. Este es el primer paso (que he hecho con éxito). Mi salida ahora es dos cosas:

1) Una contraseña encriptada

2) una clave, cuya salida es algo como: javax.crypto.spec.SecretKeySpec@######

Mi problema es ahora la segunda parte. Quiero tener otro programa que descifre esos en una contraseña que luego se puede enviar para iniciar sesión en una aplicación.

Mi problema es que parece que no puedo configurar la clave en el programa de descifrado manualmente. Realmente solo tengo código para generarlo.

Como sería genial hacer algo como

Clave SecretKeySpec = args [1]

Pero eso es imposible porque SecretKeySpec no es una cadena y esa salida tampoco es la clave, sino un nombre de clase totalmente calificado @ hashcode

Supongo que mi problema realmente se reduce a esto: necesito almacenar una contraseña cifrada en un archivo de configuración creado por program1. Necesito otro programa (program2) para poder descifrarlo. Pero, ¿cómo hago eso si program2 no tiene la clave que se utilizó para cifrar la contraseña en program1?

Siento que voy por un camino totalmente equivocado aquí, cualquier orientación para volver a la normalidad sería muy apreciada.

    
pregunta David Horvath 05.01.2018 - 20:03
fuente

1 respuesta

1

En el nivel alto, parece que está intentando que ambos programas acepten usar la misma contraseña. Entonces es posible que esté confundiendo el problema agregando una segunda restricción a esto, que es "¿cómo muevo la contraseña de manera segura del programa 1 al programa 2?"

Este es el problema clásico que las soluciones de Administración de Secretos se desarrollaron para manejar. ¿Ha considerado usar un programa de almacenamiento seguro, como Hashicorp Vault? Puede otorgar a ambos programas 1 y 2 acceso a la misma instancia de almacenamiento. Luego, sus secretos siempre se almacenan en la bóveda y solo los programas los eliminan según sea necesario.

    
respondido por el John Deters 05.01.2018 - 20:15
fuente

Lea otras preguntas en las etiquetas