Oh, also, your code has a simple thinko or copy-n-paste bug. On line 79:
fInTrustStore = new FileInputStream(keyPath);
should read:
fInTrustStore = new FileInputStream(trustPath);
Currently, trustPath never escapes the method and is effectively unused;
it's only tested for null/empty, then ignored.
--
Craig Ringer