Some weeks ago I started working on a Java CLI-based keystore app. I know some mature ones already exist on the market, but I wanted it to be as simple to use as possible and include commands that suit my work.
Until this moment, some functionality includes:
adding, removing, getting and listing custom keys
copying a key without displaying it on the screen
listing all keys without displaying their value on the screen
generating keys based on certain criteria (length, include digits, uppercase, lowercase, symbols, etc.)
Managing keys requires a password that is set by the user (keyboard input) when the first key is added/generated to the keystore. That password is used to AES-Encrypt the keystore file in the user data directory (e.g. %localappdata% for Windows).
There is also the possibility of switching to the FILE mode, which is going to ask the user for a file path instead of typing a password. That file contains the key that can be used to decrypt (maybe you keep your secrets on a USB drive).…