digamos que guardaste una cadena llamada "esta es mi oración" en el almacén de claves, y cuando la abres con un bloc de notas, ves el texto cifrado "blabla", y copió el "blabla" a otro archivo y dice que encontró el texto simple, y es "blabla", que es obvio incorrecto, aún no conoce el original flexible hasta que lo recupere por contraseña.
EDITAR == ==
de almacén de claves JKS, la contraseña del almacén de claves se utiliza para verificar la integridad, src
636 if (password != null) {
637 md = getPreKeyedHash(password);
638 dis = new DataInputStream(new DigestInputStream(stream, md));
639 }
la DigestInputStream generar una firma y compararlo con acutal uno para ver si es modificado.
BouncyCastle almacén de claves UBER es más seguro, todo el almacén de claves se cifra con una PBE basado en SHA1 y Twofish (PBEWithSHAAndTwofish-CBC)
Cipher cipher = this.makePBECipher(cipherAlg, Cipher.DECRYPT_MODE, password, salt, iterationCount);
CipherInputStream cIn = new CipherInputStream(dIn, cipher);
Digest dig = new SHA1Digest();
DigestInputStream dgIn = new DigestInputStream(cIn, dig);
this.loadStore(dgIn);
No hay forma real de almacenar contraseñas localmente de forma segura y tener acceso a ellas, a menos que dependa de la seguridad por oscuridad, o solicite al usuario una frase de contraseña para desbloquear el almacén de contraseñas. – WhyNotHugo
sí, pero ¿qué quieres decir? Mi Privatekey es segura, porque está encriptada y protegida por KEYPAIRpassword. todos los demás contenidos se pueden leer en texto claro, sin importar si hay una contraseña de restauración de claves o no. – billdoor
De hecho, pero debe proporcionar una contraseña para poder acceder a ella; ese es mi punto. Lo mismo se aplica a las tiendas de contraseñas; todavía necesitas una frase de contraseña maestra. – WhyNotHugo