Thank you for your quick response. I did not find that mail. It is easy to add a hack to my own configuration objects where the first getPassword() decrypts and caches. The wrinkle here is doing the same thing for the internal HTTPS ServerFactory: I don't control the HTTPS configuration class.
I looked into using the very recent support for making a subclass of the configuration object creator. For a general-purpose patch I would use that instead, so you can add your own decrypter, etc.
A minor problem is that the DW application has to know about the decrypter. Another option is to deploy the decryptor completely externally to DropWizard. An environment variable is must better than a Java system property.
I know this is bad form, but a system property is in the command line, whereas an environment variable is not. It is very bad to have a password in a process command line: a regular user can see all running programs, but cannot see secure files. One way to do this is to add system environment support to the configuration object creator.
So, in short, to avoid placing the keystore & trust passwords in the configuration file, the solutions in order of preference are:
1) Application environment variable (need to make a plugin)
2) Decrypter in the app
3) Java system property
I'm using option #2 because of my existing codebase.
Lance