From 87d2abae6355cfb9993edb89cc60912d0d8230a5 Mon Sep 17 00:00:00 2001 From: Nils Schwabe Date: Thu, 24 Apr 2014 15:26:58 +0200 Subject: Add FTPS to MasterFtpServer --- .../org/openslx/imagemaster/server/MasterFtpServer.java | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'src/main/java/org/openslx/imagemaster/server/MasterFtpServer.java') diff --git a/src/main/java/org/openslx/imagemaster/server/MasterFtpServer.java b/src/main/java/org/openslx/imagemaster/server/MasterFtpServer.java index f68e909..de0d758 100644 --- a/src/main/java/org/openslx/imagemaster/server/MasterFtpServer.java +++ b/src/main/java/org/openslx/imagemaster/server/MasterFtpServer.java @@ -13,6 +13,7 @@ import org.apache.ftpserver.ftplet.FtpException; import org.apache.ftpserver.ftplet.Ftplet; import org.apache.ftpserver.ftplet.UserManager; import org.apache.ftpserver.listener.ListenerFactory; +import org.apache.ftpserver.ssl.SslConfigurationFactory; import org.apache.ftpserver.usermanager.PropertiesUserManagerFactory; import org.apache.ftpserver.usermanager.SaltedPasswordEncryptor; import org.apache.ftpserver.usermanager.impl.BaseUser; @@ -40,8 +41,17 @@ public class MasterFtpServer implements Runnable FtpServerFactory serverFactory = new FtpServerFactory(); ListenerFactory factory = new ListenerFactory(); + + // config ssl + SslConfigurationFactory sslConfigFactory = new SslConfigurationFactory(); + sslConfigFactory.setKeystoreFile( new File( "./keyfiles/ftp.jks" ) ); + sslConfigFactory.setKeyAlias( "ftp" ); + sslConfigFactory.setKeystorePassword( "password" ); + // set the port of the listener factory.setPort( port ); + factory.setSslConfiguration( sslConfigFactory.createSslConfiguration() ); + factory.setImplicitSsl( true ); // replace the default listener serverFactory.addListener( "default", factory.createListener() ); @@ -51,9 +61,6 @@ public class MasterFtpServer implements Runnable userManagerFactory.setFile( new File( "src/main/properties/ftp.properties" ) ); userManagerFactory.setPasswordEncryptor( new SaltedPasswordEncryptor() ); userManager = userManagerFactory.createUserManager(); - - // create new admin user - //addUser(adminUsername, adminPassword, ftproot, true); serverFactory.setUserManager( userManager ); // add the Ftplet @@ -63,12 +70,11 @@ public class MasterFtpServer implements Runnable // start the server server = serverFactory.createServer(); + ini = true; } public FtpCredentials addUser( final String serverSessionId ) { - // TODO: enable SSL - FtpCredentials ftpCredentials = null; String generatedUser = RandomString.generate( 10, false ); -- cgit v1.2.3-55-g7522