diff options
author | Jakob Heher <jakob.heher@iaik.tugraz.at> | 2022-07-08 13:42:20 +0200 |
---|---|---|
committer | Jakob Heher <jakob.heher@iaik.tugraz.at> | 2022-07-08 13:42:20 +0200 |
commit | b3ae550f4196dfc7b3b45739a04c5b1ae1859623 (patch) | |
tree | 599876d3b3552cf9208792a9ff2f52df3c4bde32 /pdf-over-gui/src/main/java/at/asit/pdfover/gui/keystore/KeystoreUtils.java | |
parent | 486692a4cf587739481db3668268c3cd41070a76 (diff) | |
download | pdf-over-b3ae550f4196dfc7b3b45739a04c5b1ae1859623.tar.gz pdf-over-b3ae550f4196dfc7b3b45739a04c5b1ae1859623.tar.bz2 pdf-over-b3ae550f4196dfc7b3b45739a04c5b1ae1859623.zip |
cache keystore password in memory cf. #68 #69
todo: sanitize config loading behavior
Diffstat (limited to 'pdf-over-gui/src/main/java/at/asit/pdfover/gui/keystore/KeystoreUtils.java')
-rw-r--r-- | pdf-over-gui/src/main/java/at/asit/pdfover/gui/keystore/KeystoreUtils.java | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/keystore/KeystoreUtils.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/keystore/KeystoreUtils.java new file mode 100644 index 00000000..8b7bb59c --- /dev/null +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/keystore/KeystoreUtils.java @@ -0,0 +1,28 @@ +package at.asit.pdfover.gui.keystore; + +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.security.KeyStore; +import java.security.KeyStoreException; +import java.security.NoSuchAlgorithmException; +import java.security.UnrecoverableKeyException; +import java.security.cert.CertificateException; + +public class KeystoreUtils { + public static KeyStore tryLoadKeystore(File location, String storeType, String storePass) throws KeyStoreException, NoSuchAlgorithmException, CertificateException, IOException, UnrecoverableKeyException { + KeyStore ks = KeyStore.getInstance(storeType); + FileInputStream fis = new FileInputStream(location); + try + { + ks.load(fis, storePass.toCharArray()); + } catch (IOException e) { + UnrecoverableKeyException keyCause = (UnrecoverableKeyException)e.getCause(); + if (keyCause != null) + throw keyCause; + else + throw e; + } + return ks; + } +} |