You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@taverna.apache.org by st...@apache.org on 2016/02/15 01:08:46 UTC

incubator-taverna-engine git commit: Avoid java.io.File in credentialmanager api

Repository: incubator-taverna-engine
Updated Branches:
  refs/heads/master 81179b82a -> 9f143dbdf


Avoid java.io.File in credentialmanager api


Project: http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/commit/9f143dbd
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/tree/9f143dbd
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/diff/9f143dbd

Branch: refs/heads/master
Commit: 9f143dbdf2fa70401e43ab25488ddd27317a6f2d
Parents: 81179b8
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Mon Feb 15 00:08:37 2016 +0000
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Mon Feb 15 00:08:37 2016 +0000

----------------------------------------------------------------------
 .../impl/CredentialManagerImpl.java             | 33 +++++++++++---------
 .../impl/DefaultMasterPasswordProvider.java     | 12 +++----
 .../impl/DistinguishedNameParserImpl.java       | 29 +++++++++--------
 .../impl/CredentialManagerImplIT.java           |  4 +--
 .../impl/CredentialManagerImplTest.java         | 10 +++---
 .../impl/HTTPAuthenticatorIT.java               |  6 ++--
 .../HTTPSConnectionAndTrustConfirmationIT.java  |  2 +-
 .../impl/PossibleURILookupsTest.java            |  4 +--
 .../credentialmanager/CredentialManager.java    |  8 ++---
 .../DistinguishedNameParser.java                |  4 +--
 10 files changed, 56 insertions(+), 56 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/9f143dbd/taverna-credential-manager-impl/src/main/java/org/apache/taverna/security/credentialmanager/impl/CredentialManagerImpl.java
----------------------------------------------------------------------
diff --git a/taverna-credential-manager-impl/src/main/java/org/apache/taverna/security/credentialmanager/impl/CredentialManagerImpl.java b/taverna-credential-manager-impl/src/main/java/org/apache/taverna/security/credentialmanager/impl/CredentialManagerImpl.java
index dd94bd4..cfd37a9 100644
--- a/taverna-credential-manager-impl/src/main/java/org/apache/taverna/security/credentialmanager/impl/CredentialManagerImpl.java
+++ b/taverna-credential-manager-impl/src/main/java/org/apache/taverna/security/credentialmanager/impl/CredentialManagerImpl.java
@@ -19,11 +19,16 @@
 
 package org.apache.taverna.security.credentialmanager.impl;
 
+import static javax.security.auth.x500.X500Principal.RFC2253;
+import static org.apache.taverna.security.credentialmanager.CredentialManager.KeystoreType.KEYSTORE;
+import static org.apache.taverna.security.credentialmanager.CredentialManager.KeystoreType.TRUSTSTORE;
+
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
+import java.io.OutputStream;
 import java.io.UnsupportedEncodingException;
 import java.lang.reflect.Method;
 import java.math.BigInteger;
@@ -32,6 +37,8 @@ import java.net.Socket;
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.net.URL;
+import java.nio.file.Files;
+import java.nio.file.Path;
 import java.security.Key;
 import java.security.KeyManagementException;
 import java.security.KeyStore;
@@ -53,6 +60,7 @@ import java.util.HashMap;
 import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Map;
+
 import javax.crypto.spec.SecretKeySpec;
 import javax.net.ssl.HttpsURLConnection;
 import javax.net.ssl.KeyManager;
@@ -64,14 +72,15 @@ import javax.net.ssl.TrustManagerFactory;
 import javax.net.ssl.X509ExtendedKeyManager;
 import javax.net.ssl.X509KeyManager;
 import javax.net.ssl.X509TrustManager;
-import static javax.security.auth.x500.X500Principal.RFC2253;
+
+import org.apache.commons.io.FileUtils;
+import org.apache.log4j.Logger;
+import org.apache.taverna.configuration.app.ApplicationConfiguration;
 import org.apache.taverna.lang.observer.MultiCaster;
 import org.apache.taverna.lang.observer.Observable;
 import org.apache.taverna.lang.observer.Observer;
 import org.apache.taverna.security.credentialmanager.CMException;
 import org.apache.taverna.security.credentialmanager.CredentialManager;
-import static org.apache.taverna.security.credentialmanager.CredentialManager.KeystoreType.KEYSTORE;
-import static org.apache.taverna.security.credentialmanager.CredentialManager.KeystoreType.TRUSTSTORE;
 import org.apache.taverna.security.credentialmanager.DistinguishedNameParser;
 import org.apache.taverna.security.credentialmanager.JavaTruststorePasswordProvider;
 import org.apache.taverna.security.credentialmanager.KeystoreChangedEvent;
@@ -80,16 +89,11 @@ import org.apache.taverna.security.credentialmanager.ParsedDistinguishedName;
 import org.apache.taverna.security.credentialmanager.ServiceUsernameAndPasswordProvider;
 import org.apache.taverna.security.credentialmanager.TrustConfirmationProvider;
 import org.apache.taverna.security.credentialmanager.UsernamePassword;
-import org.apache.commons.io.FileUtils;
-import org.apache.log4j.Logger;
 import org.bouncycastle.jce.provider.BouncyCastleProvider;
-import org.apache.taverna.configuration.app.ApplicationConfiguration;
 
 /**
  * Provides an implementation of {@link #CredentialManagerService}.
  * 
- * @author Alex Nenadic
- * @author Stian Soiland-Reyes
  */
 
 public class CredentialManagerImpl implements CredentialManager,
@@ -1235,7 +1239,7 @@ public class CredentialManagerImpl implements CredentialManager,
 	 * chain from the Keystore to a PKCS #12 file.
 	 */
 	@Override
-	public void exportKeyPair(String alias, File exportFile,
+	public void exportKeyPair(String alias, Path exportFile,
 			String pkcs12Password) throws CMException {
 		// Need to make sure we are initialized before we do anything else
 		// as Credential Manager can be created but not initialized
@@ -1275,7 +1279,7 @@ public class CredentialManagerImpl implements CredentialManager,
 						certChain);
 
 				// Store the new PKCS #12 keystore on the disk
-				try (FileOutputStream fos = new FileOutputStream(exportFile)) {
+				try (OutputStream fos = Files.newOutputStream(exportFile)) {
 					newPkcs12.store(fos, pkcs12Password.toCharArray());
 				}
 			} catch (Exception ex) {
@@ -1715,10 +1719,10 @@ public class CredentialManagerImpl implements CredentialManager,
 	 * Load a PKCS12-type keystore from a file using the supplied password.
 	 */
 	@Override
-	public KeyStore loadPKCS12Keystore(File pkcs12File, String pkcs12Password)
+	public KeyStore loadPKCS12Keystore(Path pkcs12File, String pkcs12Password)
 			throws CMException {
 		// Load the PKCS #12 keystore from the file
-		try (InputStream input = new FileInputStream(pkcs12File)) {
+		try (InputStream input = Files.newInputStream(pkcs12File)) {
 			KeyStore pkcs12 = KeyStore.getInstance("PKCS12", "BC");
 			pkcs12.load(input, pkcs12Password.toCharArray());
 			return pkcs12;
@@ -2422,7 +2426,7 @@ public class CredentialManagerImpl implements CredentialManager,
 	private void loadDefaultSecurityFiles() {
 		if (credentialManagerDirectory == null)
 			credentialManagerDirectory = dnParser
-					.getCredentialManagerDefaultDirectory(applicationConfiguration);
+					.getCredentialManagerDefaultDirectory(applicationConfiguration).toFile();
 		if (keystoreFile == null)
 			keystoreFile = new File(credentialManagerDirectory,
 					KEYSTORE_FILE_NAME);
@@ -2446,8 +2450,9 @@ public class CredentialManagerImpl implements CredentialManager,
 	 * @throws CMException
 	 */
 	@Override
-	public void setConfigurationDirectoryPath(File credentialManagerDirectory)
+	public void setConfigurationDirectoryPath(Path credentialManagerPath)
 			throws CMException {
+		File credentialManagerDirectory = credentialManagerPath.toFile();
 		if (credentialManagerDirectory == null)
 			throw new CMException(
 					"Credential Manager's configuration directory cannot be null.");

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/9f143dbd/taverna-credential-manager-impl/src/main/java/org/apache/taverna/security/credentialmanager/impl/DefaultMasterPasswordProvider.java
----------------------------------------------------------------------
diff --git a/taverna-credential-manager-impl/src/main/java/org/apache/taverna/security/credentialmanager/impl/DefaultMasterPasswordProvider.java b/taverna-credential-manager-impl/src/main/java/org/apache/taverna/security/credentialmanager/impl/DefaultMasterPasswordProvider.java
index 98edfcc..1c109d8 100644
--- a/taverna-credential-manager-impl/src/main/java/org/apache/taverna/security/credentialmanager/impl/DefaultMasterPasswordProvider.java
+++ b/taverna-credential-manager-impl/src/main/java/org/apache/taverna/security/credentialmanager/impl/DefaultMasterPasswordProvider.java
@@ -21,10 +21,11 @@ package org.apache.taverna.security.credentialmanager.impl;
 
 import static org.apache.taverna.security.credentialmanager.CredentialManager.USER_SET_MASTER_PASSWORD_INDICATOR_FILE_NAME;
 
-import java.io.File;
+import java.nio.file.Files;
+import java.nio.file.Path;
 
-import org.apache.taverna.security.credentialmanager.MasterPasswordProvider;
 import org.apache.taverna.configuration.app.ApplicationConfiguration;
+import org.apache.taverna.security.credentialmanager.MasterPasswordProvider;
 
 //import org.apache.log4j.Logger;
 
@@ -55,10 +56,9 @@ public class DefaultMasterPasswordProvider implements MasterPasswordProvider {
 
 	@Override
 	public String getMasterPassword(boolean firstTime) {
-		File cmDir = DistinguishedNameParserImpl.getTheCredentialManagerDefaultDirectory(appConfig);
-		File flagFile = new File(cmDir,
-				USER_SET_MASTER_PASSWORD_INDICATOR_FILE_NAME);
-		if (flagFile.exists())
+		Path cmDir = DistinguishedNameParserImpl.getTheCredentialManagerDefaultDirectory(appConfig);
+		Path flagFile = cmDir.resolve(USER_SET_MASTER_PASSWORD_INDICATOR_FILE_NAME);
+		if (Files.exists(flagFile))
 			return null;
 		return DEFAULT_MASTER_PASSWORD;
 	}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/9f143dbd/taverna-credential-manager-impl/src/main/java/org/apache/taverna/security/credentialmanager/impl/DistinguishedNameParserImpl.java
----------------------------------------------------------------------
diff --git a/taverna-credential-manager-impl/src/main/java/org/apache/taverna/security/credentialmanager/impl/DistinguishedNameParserImpl.java b/taverna-credential-manager-impl/src/main/java/org/apache/taverna/security/credentialmanager/impl/DistinguishedNameParserImpl.java
index 8f37169..b9976d0 100644
--- a/taverna-credential-manager-impl/src/main/java/org/apache/taverna/security/credentialmanager/impl/DistinguishedNameParserImpl.java
+++ b/taverna-credential-manager-impl/src/main/java/org/apache/taverna/security/credentialmanager/impl/DistinguishedNameParserImpl.java
@@ -21,10 +21,12 @@
 package org.apache.taverna.security.credentialmanager.impl;
 
 import java.io.ByteArrayInputStream;
-import java.io.File;
+import java.io.IOException;
 import java.math.BigInteger;
 import java.net.URI;
 import java.net.URISyntaxException;
+import java.nio.file.Files;
+import java.nio.file.Path;
 import java.security.MessageDigest;
 import java.security.NoSuchAlgorithmException;
 import java.security.cert.Certificate;
@@ -46,24 +48,18 @@ import java.security.cert.Certificate;
 * specific language governing permissions and limitations
 * under the License.
 */
-
 import java.security.cert.CertificateException;
 import java.security.cert.CertificateFactory;
 import java.security.cert.X509Certificate;
 
-import org.apache.taverna.security.credentialmanager.CMException;
-import org.apache.taverna.security.credentialmanager.DistinguishedNameParser;
-
 import org.apache.log4j.Logger;
-
 import org.apache.taverna.configuration.app.ApplicationConfiguration;
+import org.apache.taverna.security.credentialmanager.CMException;
+import org.apache.taverna.security.credentialmanager.DistinguishedNameParser;
 
 /**
  * Utility methods for Credential Manager and security-related stuff.
  * 
- * @author Alex Nenadic
- * @author Stian Soiland-Reyes
- * @author Christian Brenninkmeijer
  */
 public class DistinguishedNameParserImpl implements DistinguishedNameParser{
 	private static Logger logger = Logger.getLogger(DistinguishedNameParserImpl.class);
@@ -75,17 +71,20 @@ public class DistinguishedNameParserImpl implements DistinguishedNameParser{
 	 * Get the configuration directory where the security stuff will be/is saved
 	 * to.
 	 */
-	public static File getTheCredentialManagerDefaultDirectory(
+	public static Path getTheCredentialManagerDefaultDirectory(
 			ApplicationConfiguration applicationConfiguration) {
-		File home = applicationConfiguration.getApplicationHomeDir().toFile();
-		File secConfigDirectory = new File(home, "security");
-		if (!secConfigDirectory.exists())
-			secConfigDirectory.mkdir();
+		Path home = applicationConfiguration.getApplicationHomeDir();
+		Path secConfigDirectory = home.resolve("security");
+		try {
+			Files.createDirectories(secConfigDirectory);
+		} catch (IOException e) {
+			throw new RuntimeException(e);
+		}
 		return secConfigDirectory;
 	}
 
         @Override
-	public final File getCredentialManagerDefaultDirectory(
+	public final Path getCredentialManagerDefaultDirectory(
 			ApplicationConfiguration applicationConfiguration) {
 		return getTheCredentialManagerDefaultDirectory(applicationConfiguration);
 	}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/9f143dbd/taverna-credential-manager-impl/src/test/java/org/apache/taverna/security/credentialmanager/impl/CredentialManagerImplIT.java
----------------------------------------------------------------------
diff --git a/taverna-credential-manager-impl/src/test/java/org/apache/taverna/security/credentialmanager/impl/CredentialManagerImplIT.java b/taverna-credential-manager-impl/src/test/java/org/apache/taverna/security/credentialmanager/impl/CredentialManagerImplIT.java
index 6ef1e91..6379449 100644
--- a/taverna-credential-manager-impl/src/test/java/org/apache/taverna/security/credentialmanager/impl/CredentialManagerImplIT.java
+++ b/taverna-credential-manager-impl/src/test/java/org/apache/taverna/security/credentialmanager/impl/CredentialManagerImplIT.java
@@ -222,7 +222,7 @@ public class CredentialManagerImplIT {
 				"taverna-truststore.ubr");
 		FileUtils.copyFile(keystoreFile, keystoreDestFile);
 		FileUtils.copyFile(truststoreFile, truststoreDestFile);
-		credentialManager.setConfigurationDirectoryPath(credentialManagerDirectory);
+		credentialManager.setConfigurationDirectoryPath(credentialManagerDirectory.toPath());
 		
 		// Create the dummy master password provider
 		masterPasswordProvider = new DummyMasterPasswordProvider();
@@ -314,7 +314,7 @@ public class CredentialManagerImplIT {
 		System.out.println("Credential Manager's Keystore and Truststore will be saved to: "
 				+ credentialManagerDirectoryPath);
 		credentialManagerDirectory = new File(credentialManagerDirectoryPath);
-		credentialManager.setConfigurationDirectoryPath(credentialManagerDirectory);
+		credentialManager.setConfigurationDirectoryPath(credentialManagerDirectory.toPath());
 		
 		// Create the dummy master password provider
 		masterPasswordProvider = new DummyMasterPasswordProvider();

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/9f143dbd/taverna-credential-manager-impl/src/test/java/org/apache/taverna/security/credentialmanager/impl/CredentialManagerImplTest.java
----------------------------------------------------------------------
diff --git a/taverna-credential-manager-impl/src/test/java/org/apache/taverna/security/credentialmanager/impl/CredentialManagerImplTest.java b/taverna-credential-manager-impl/src/test/java/org/apache/taverna/security/credentialmanager/impl/CredentialManagerImplTest.java
index 4662fd1..f073479 100644
--- a/taverna-credential-manager-impl/src/test/java/org/apache/taverna/security/credentialmanager/impl/CredentialManagerImplTest.java
+++ b/taverna-credential-manager-impl/src/test/java/org/apache/taverna/security/credentialmanager/impl/CredentialManagerImplTest.java
@@ -186,7 +186,7 @@ public class CredentialManagerImplTest {
 		credentialManagerDirectory = new File(credentialManagerDirectoryPath);
 		try {
 			credentialManager
-					.setConfigurationDirectoryPath(credentialManagerDirectory);
+					.setConfigurationDirectoryPath(credentialManagerDirectory.toPath());
 		} catch (CMException e) {
 			System.out.println(e.getStackTrace());
 		}
@@ -387,10 +387,10 @@ public class CredentialManagerImplTest {
 	public void testExportKeyPair() throws CMException, KeyStoreException, UnrecoverableKeyException, NoSuchAlgorithmException {
 		String alias = credentialManager.addKeyPair(privateKey, privateKeyCertChain);
 		File fileToExportTo = new File(credentialManagerDirectory, "test-export-key.p12");
-		credentialManager.exportKeyPair(alias, fileToExportTo, privateKeyAndPKCS12KeystorePassword);
+		credentialManager.exportKeyPair(alias, fileToExportTo.toPath(), privateKeyAndPKCS12KeystorePassword);
 		assertTrue(fileToExportTo.exists());
 		// Load it back from the file we just saved
-		KeyStore ks = credentialManager.loadPKCS12Keystore(fileToExportTo, privateKeyAndPKCS12KeystorePassword);
+		KeyStore ks = credentialManager.loadPKCS12Keystore(fileToExportTo.toPath(), privateKeyAndPKCS12KeystorePassword);
 		Enumeration<String> aliases = ks.aliases();
 		Key newPrivateKey = null;
 		Certificate[] newPrivateKeyCerts = null;
@@ -610,7 +610,7 @@ public class CredentialManagerImplTest {
 	 */
 	@Test
 	public void testLoadPKCS12Keystore() throws CMException, KeyStoreException, UnrecoverableKeyException, NoSuchAlgorithmException {
-		KeyStore pkcs12Keystore = credentialManager.loadPKCS12Keystore(new File(privateKeyFileURL.getPath()), privateKeyAndPKCS12KeystorePassword);
+		KeyStore pkcs12Keystore = credentialManager.loadPKCS12Keystore(new File(privateKeyFileURL.getPath()).toPath(), privateKeyAndPKCS12KeystorePassword);
 		
 		Key privateKey2 = null;
 		Certificate[] privateKeyCertChain2 = null;
@@ -704,7 +704,7 @@ public class CredentialManagerImplTest {
 		}
 		try {
 			credentialManagerNew
-					.setConfigurationDirectoryPath(credentialManagerDirectory);
+					.setConfigurationDirectoryPath(credentialManagerDirectory.toPath());
 		} catch (CMException e) {
 			System.out.println(e.getStackTrace());
 		}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/9f143dbd/taverna-credential-manager-impl/src/test/java/org/apache/taverna/security/credentialmanager/impl/HTTPAuthenticatorIT.java
----------------------------------------------------------------------
diff --git a/taverna-credential-manager-impl/src/test/java/org/apache/taverna/security/credentialmanager/impl/HTTPAuthenticatorIT.java b/taverna-credential-manager-impl/src/test/java/org/apache/taverna/security/credentialmanager/impl/HTTPAuthenticatorIT.java
index ac8e695..15784f0 100644
--- a/taverna-credential-manager-impl/src/test/java/org/apache/taverna/security/credentialmanager/impl/HTTPAuthenticatorIT.java
+++ b/taverna-credential-manager-impl/src/test/java/org/apache/taverna/security/credentialmanager/impl/HTTPAuthenticatorIT.java
@@ -62,11 +62,9 @@ import org.mortbay.jetty.webapp.WebAppContext;
 
 /**
  * 
- * Based on org.apache.tavenra.security.credentialmanager.FixedPasswordProvider from the
+ * Based on org.apache.taverna.security.credentialmanager.FixedPasswordProvider from the
  * Taverna 2 codebase. 
  * 
- * @author Stian Soiland-Reyes
- * @author Alex Nenadic
  *
  */
 public class HTTPAuthenticatorIT {
@@ -131,7 +129,7 @@ public class HTTPAuthenticatorIT {
 		credentialManagerDirectory = new File(credentialManagerDirectoryPath);
 		try {
 			credentialManager
-					.setConfigurationDirectoryPath(credentialManagerDirectory);
+					.setConfigurationDirectoryPath(credentialManagerDirectory.toPath());
 		} catch (CMException e) {
 			System.out.println(e.getStackTrace());
 		}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/9f143dbd/taverna-credential-manager-impl/src/test/java/org/apache/taverna/security/credentialmanager/impl/HTTPSConnectionAndTrustConfirmationIT.java
----------------------------------------------------------------------
diff --git a/taverna-credential-manager-impl/src/test/java/org/apache/taverna/security/credentialmanager/impl/HTTPSConnectionAndTrustConfirmationIT.java b/taverna-credential-manager-impl/src/test/java/org/apache/taverna/security/credentialmanager/impl/HTTPSConnectionAndTrustConfirmationIT.java
index 5ffd504..cf1a982 100644
--- a/taverna-credential-manager-impl/src/test/java/org/apache/taverna/security/credentialmanager/impl/HTTPSConnectionAndTrustConfirmationIT.java
+++ b/taverna-credential-manager-impl/src/test/java/org/apache/taverna/security/credentialmanager/impl/HTTPSConnectionAndTrustConfirmationIT.java
@@ -128,7 +128,7 @@ public class HTTPSConnectionAndTrustConfirmationIT {
 		credentialManagerDirectory = new File(credentialManagerDirectoryPath);
 		try {
 			credentialManager
-					.setConfigurationDirectoryPath(credentialManagerDirectory);
+					.setConfigurationDirectoryPath(credentialManagerDirectory.toPath());
 		} catch (CMException e) {
 			System.out.println(e.getStackTrace());
 		}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/9f143dbd/taverna-credential-manager-impl/src/test/java/org/apache/taverna/security/credentialmanager/impl/PossibleURILookupsTest.java
----------------------------------------------------------------------
diff --git a/taverna-credential-manager-impl/src/test/java/org/apache/taverna/security/credentialmanager/impl/PossibleURILookupsTest.java b/taverna-credential-manager-impl/src/test/java/org/apache/taverna/security/credentialmanager/impl/PossibleURILookupsTest.java
index 31eded9..010af80 100644
--- a/taverna-credential-manager-impl/src/test/java/org/apache/taverna/security/credentialmanager/impl/PossibleURILookupsTest.java
+++ b/taverna-credential-manager-impl/src/test/java/org/apache/taverna/security/credentialmanager/impl/PossibleURILookupsTest.java
@@ -44,8 +44,6 @@ import org.junit.Test;
 
 /**
  * 
- * @author Stian Soiland-Reyes
- * @author Alex Nenadic
  *
  */
 public class PossibleURILookupsTest {
@@ -85,7 +83,7 @@ public class PossibleURILookupsTest {
 		credentialManagerDirectory = new File(credentialManagerDirectoryPath);
 		try {
 			credentialManager
-					.setConfigurationDirectoryPath(credentialManagerDirectory);
+					.setConfigurationDirectoryPath(credentialManagerDirectory.toPath());
 		} catch (CMException e) {
 			System.out.println(e.getStackTrace());
 		}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/9f143dbd/taverna-credential-manager/src/main/java/org/apache/taverna/security/credentialmanager/CredentialManager.java
----------------------------------------------------------------------
diff --git a/taverna-credential-manager/src/main/java/org/apache/taverna/security/credentialmanager/CredentialManager.java b/taverna-credential-manager/src/main/java/org/apache/taverna/security/credentialmanager/CredentialManager.java
index 6099606..5ccd8f2 100644
--- a/taverna-credential-manager/src/main/java/org/apache/taverna/security/credentialmanager/CredentialManager.java
+++ b/taverna-credential-manager/src/main/java/org/apache/taverna/security/credentialmanager/CredentialManager.java
@@ -19,9 +19,9 @@
 
 package org.apache.taverna.security.credentialmanager;
 
-import java.io.File;
 import java.net.Authenticator;
 import java.net.URI;
+import java.nio.file.Path;
 import java.security.Key;
 import java.security.KeyStore;
 import java.security.cert.Certificate;
@@ -111,7 +111,7 @@ public interface CredentialManager {
 	 * @param credentialManagerDirectory
 	 * @throws CMException
 	 */
-	void setConfigurationDirectoryPath(File credentialManagerDirectory)
+	void setConfigurationDirectoryPath(Path credentialManagerDirectory)
 			throws CMException;
 
 	/**
@@ -244,7 +244,7 @@ public interface CredentialManager {
 	 * Export a key entry containing private key and public key certificate
 	 * chain from the Keystore to a PKCS #12 file.
 	 */
-	void exportKeyPair(String alias, File exportFile, String pkcs12Password)
+	void exportKeyPair(String alias, Path exportFile, String pkcs12Password)
 			throws CMException;
 
 	/**
@@ -343,7 +343,7 @@ public interface CredentialManager {
 	/**
 	 * Load a PKCS12-type keystore from a file using the supplied password.
 	 */
-	KeyStore loadPKCS12Keystore(File pkcs12File, String pkcs12Password)
+	KeyStore loadPKCS12Keystore(Path pkcs12File, String pkcs12Password)
 			throws CMException;
 
 	/**

http://git-wip-us.apache.org/repos/asf/incubator-taverna-engine/blob/9f143dbd/taverna-credential-manager/src/main/java/org/apache/taverna/security/credentialmanager/DistinguishedNameParser.java
----------------------------------------------------------------------
diff --git a/taverna-credential-manager/src/main/java/org/apache/taverna/security/credentialmanager/DistinguishedNameParser.java b/taverna-credential-manager/src/main/java/org/apache/taverna/security/credentialmanager/DistinguishedNameParser.java
index 704fbde..e2d31ab 100644
--- a/taverna-credential-manager/src/main/java/org/apache/taverna/security/credentialmanager/DistinguishedNameParser.java
+++ b/taverna-credential-manager/src/main/java/org/apache/taverna/security/credentialmanager/DistinguishedNameParser.java
@@ -19,9 +19,9 @@
 
 package org.apache.taverna.security.credentialmanager;
 
-import java.io.File;
 import java.net.URI;
 import java.net.URISyntaxException;
+import java.nio.file.Path;
 import java.security.cert.Certificate;
 import java.security.cert.X509Certificate;
 import org.apache.taverna.configuration.app.ApplicationConfiguration;
@@ -55,6 +55,6 @@ public interface DistinguishedNameParser {
      * Get the configuration directory where the security stuff will be/is saved
      * to.
      */
-    public File getCredentialManagerDefaultDirectory(ApplicationConfiguration applicationConfiguration);
+    public Path getCredentialManagerDefaultDirectory(ApplicationConfiguration applicationConfiguration);
 
  }