--- a/jdk/src/share/classes/sun/security/ssl/SSLContextImpl.java Mon Jul 18 22:25:58 2011 +0100
+++ b/jdk/src/share/classes/sun/security/ssl/SSLContextImpl.java Tue Jul 19 08:21:05 2011 -0700
@@ -567,42 +567,46 @@
}
FileInputStream fs = null;
- if (defaultKeyStore.length() != 0 && !NONE.equals(defaultKeyStore)) {
- fs = AccessController.doPrivileged(
- new PrivilegedExceptionAction<FileInputStream>() {
- public FileInputStream run() throws Exception {
- return new FileInputStream(defaultKeyStore);
- }
- });
- }
-
- String defaultKeyStorePassword = props.get("keyStorePasswd");
+ KeyStore ks = null;
char[] passwd = null;
- if (defaultKeyStorePassword.length() != 0) {
- passwd = defaultKeyStorePassword.toCharArray();
- }
+ try {
+ if (defaultKeyStore.length() != 0 &&
+ !NONE.equals(defaultKeyStore)) {
+ fs = AccessController.doPrivileged(
+ new PrivilegedExceptionAction<FileInputStream>() {
+ public FileInputStream run() throws Exception {
+ return new FileInputStream(defaultKeyStore);
+ }
+ });
+ }
- /**
- * Try to initialize key store.
- */
- KeyStore ks = null;
- if ((defaultKeyStoreType.length()) != 0) {
- if (debug != null && Debug.isOn("defaultctx")) {
- System.out.println("init keystore");
- }
- if (defaultKeyStoreProvider.length() == 0) {
- ks = KeyStore.getInstance(defaultKeyStoreType);
- } else {
- ks = KeyStore.getInstance(defaultKeyStoreType,
- defaultKeyStoreProvider);
+ String defaultKeyStorePassword = props.get("keyStorePasswd");
+ if (defaultKeyStorePassword.length() != 0) {
+ passwd = defaultKeyStorePassword.toCharArray();
}
- // if defaultKeyStore is NONE, fs will be null
- ks.load(fs, passwd);
- }
- if (fs != null) {
- fs.close();
- fs = null;
+ /**
+ * Try to initialize key store.
+ */
+ if ((defaultKeyStoreType.length()) != 0) {
+ if (debug != null && Debug.isOn("defaultctx")) {
+ System.out.println("init keystore");
+ }
+ if (defaultKeyStoreProvider.length() == 0) {
+ ks = KeyStore.getInstance(defaultKeyStoreType);
+ } else {
+ ks = KeyStore.getInstance(defaultKeyStoreType,
+ defaultKeyStoreProvider);
+ }
+
+ // if defaultKeyStore is NONE, fs will be null
+ ks.load(fs, passwd);
+ }
+ } finally {
+ if (fs != null) {
+ fs.close();
+ fs = null;
+ }
}
/*
--- a/jdk/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java Mon Jul 18 22:25:58 2011 +0100
+++ b/jdk/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java Tue Jul 19 08:21:05 2011 -0700
@@ -164,72 +164,75 @@
* If none exists, we use an empty keystore.
*/
- storeFileName = props.get("trustStore");
- if (!"NONE".equals(storeFileName)) {
- if (storeFileName != null) {
- storeFile = new File(storeFileName);
- fis = getFileInputStream(storeFile);
- } else {
- String javaHome = props.get("javaHome");
- storeFile = new File(javaHome + sep + "lib" + sep
- + "security" + sep +
- "jssecacerts");
- if ((fis = getFileInputStream(storeFile)) == null) {
+ try {
+ storeFileName = props.get("trustStore");
+ if (!"NONE".equals(storeFileName)) {
+ if (storeFileName != null) {
+ storeFile = new File(storeFileName);
+ fis = getFileInputStream(storeFile);
+ } else {
+ String javaHome = props.get("javaHome");
storeFile = new File(javaHome + sep + "lib" + sep
- + "security" + sep +
- "cacerts");
- fis = getFileInputStream(storeFile);
+ + "security" + sep +
+ "jssecacerts");
+ if ((fis = getFileInputStream(storeFile)) == null) {
+ storeFile = new File(javaHome + sep + "lib" + sep
+ + "security" + sep +
+ "cacerts");
+ fis = getFileInputStream(storeFile);
+ }
+ }
+
+ if (fis != null) {
+ storeFileName = storeFile.getPath();
+ } else {
+ storeFileName = "No File Available, using empty keystore.";
}
}
- if (fis != null) {
- storeFileName = storeFile.getPath();
- } else {
- storeFileName = "No File Available, using empty keystore.";
+ defaultTrustStoreType = props.get("trustStoreType");
+ defaultTrustStoreProvider = props.get("trustStoreProvider");
+ if (debug != null && Debug.isOn(dbgname)) {
+ System.out.println("trustStore is: " + storeFileName);
+ System.out.println("trustStore type is : " +
+ defaultTrustStoreType);
+ System.out.println("trustStore provider is : " +
+ defaultTrustStoreProvider);
}
- }
-
- defaultTrustStoreType = props.get("trustStoreType");
- defaultTrustStoreProvider = props.get("trustStoreProvider");
- if (debug != null && Debug.isOn(dbgname)) {
- System.out.println("trustStore is: " + storeFileName);
- System.out.println("trustStore type is : " +
- defaultTrustStoreType);
- System.out.println("trustStore provider is : " +
- defaultTrustStoreProvider);
- }
- /*
- * Try to initialize trust store.
- */
- if (defaultTrustStoreType.length() != 0) {
- if (debug != null && Debug.isOn(dbgname)) {
- System.out.println("init truststore");
- }
- if (defaultTrustStoreProvider.length() == 0) {
- ks = KeyStore.getInstance(defaultTrustStoreType);
- } else {
- ks = KeyStore.getInstance(defaultTrustStoreType,
- defaultTrustStoreProvider);
- }
- char[] passwd = null;
- String defaultTrustStorePassword = props.get("trustStorePasswd");
- if (defaultTrustStorePassword.length() != 0)
- passwd = defaultTrustStorePassword.toCharArray();
+ /*
+ * Try to initialize trust store.
+ */
+ if (defaultTrustStoreType.length() != 0) {
+ if (debug != null && Debug.isOn(dbgname)) {
+ System.out.println("init truststore");
+ }
+ if (defaultTrustStoreProvider.length() == 0) {
+ ks = KeyStore.getInstance(defaultTrustStoreType);
+ } else {
+ ks = KeyStore.getInstance(defaultTrustStoreType,
+ defaultTrustStoreProvider);
+ }
+ char[] passwd = null;
+ String defaultTrustStorePassword =
+ props.get("trustStorePasswd");
+ if (defaultTrustStorePassword.length() != 0)
+ passwd = defaultTrustStorePassword.toCharArray();
- // if trustStore is NONE, fis will be null
- ks.load(fis, passwd);
+ // if trustStore is NONE, fis will be null
+ ks.load(fis, passwd);
- // Zero out the temporary password storage
- if (passwd != null) {
- for (int i = 0; i < passwd.length; i++) {
- passwd[i] = (char)0;
+ // Zero out the temporary password storage
+ if (passwd != null) {
+ for (int i = 0; i < passwd.length; i++) {
+ passwd[i] = (char)0;
+ }
}
}
- }
-
- if (fis != null) {
- fis.close();
+ } finally {
+ if (fis != null) {
+ fis.close();
+ }
}
return ks;