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). You don't need to create the key manually. Even in FILE mode, the user's still going to be asked for a password the first time, which will be used to derive a key and store it in the specified file path.
Was curious on how I can improve it: how to improve both user experience and also add features that might be helpful to you, the developer community.
You can find the repository here 😊
Top comments (0)