code: public static KeyStore findCredentialStore(String provider,
  			String credentialStoreType, String credentialStoreLocation,
  			String credentialStorePassword)
  			throws GlobusSSLConfigurationException {
  		try {
  			KeyStore credentialStore;
  			if (provider == null) {
  				credentialStore = KeyStore.getInstance(credentialStoreType);
  			} else {
  				credentialStore = KeyStore.getInstance(credentialStoreType,
  						provider);
  			}
  			InputStream keyStoreInput = getStream(credentialStoreLocation);
                          try {
                              credentialStore.load(new BufferedInputStream(keyStoreInput),
  					credentialStorePassword == null ? null
  							: credentialStorePassword.toCharArray());
                          } finally {
                              keyStoreInput.close();
                          }
  			return credentialStore;
  		} catch (KeyStoreException e) {
  			throw new GlobusSSLConfigurationException(e);
  		} catch (IOException e) {
  			throw new GlobusSSLConfigurationException(e);
  		} catch (NoSuchAlgorithmException e) {
  			throw new GlobusSSLConfigurationException(e);
  		} catch (CertificateException e) {
  			throw new GlobusSSLConfigurationException(e);
  		} catch (NoSuchProviderException e) {
  			throw new GlobusSSLConfigurationException(e);
  		}
  	}
docs: Create a configured CredentialStore using the supplied parameters. The
  credential store is a java.security.KeyStore.
  
  @param provider
  The Java security provider to use.
  @param credentialStoreType
  The type of key store to be constructed.
  @param credentialStoreLocation
  The location of the credential store file
  @param credentialStorePassword
  The password for the credential store.
  @return A configured Keystore which holds credentials defined by these
  parameters.
  @throws GlobusSSLConfigurationException
  If unable to construct the Credential Store.