From 741e5d5fd03f5530ba116e9d1909d5888e470a7e Mon Sep 17 00:00:00 2001 From: Michael Petretti Date: Wed, 7 May 2014 17:53:03 +0200 Subject: small change --- src/main/java/org/openslx/satellitedaemon/App.java | 62 +++++++++++---- .../org/openslx/satellitedaemon/db/DbImage.java | 2 +- .../openslx/satellitedaemon/ftp/FtpUpDownUtil.java | 88 ---------------------- 3 files changed, 50 insertions(+), 102 deletions(-) delete mode 100644 src/main/java/org/openslx/satellitedaemon/ftp/FtpUpDownUtil.java (limited to 'src/main/java') diff --git a/src/main/java/org/openslx/satellitedaemon/App.java b/src/main/java/org/openslx/satellitedaemon/App.java index 9eb1cd6..9f42623 100644 --- a/src/main/java/org/openslx/satellitedaemon/App.java +++ b/src/main/java/org/openslx/satellitedaemon/App.java @@ -1,9 +1,13 @@ package org.openslx.satellitedaemon; +import java.io.File; +import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; +import java.net.ConnectException; import java.nio.ByteBuffer; import java.security.InvalidKeyException; +import java.security.KeyStore; import java.security.KeyStoreException; import java.security.NoSuchAlgorithmException; import java.security.SignatureException; @@ -11,6 +15,11 @@ import java.security.UnrecoverableKeyException; import java.security.cert.CertificateException; import java.util.UUID; +import javax.net.ssl.KeyManagerFactory; +import javax.net.ssl.TrustManager; +import javax.net.ssl.TrustManagerFactory; + +import org.apache.commons.net.ftp.FTPSClient; import org.apache.thrift.TException; import org.apache.thrift.protocol.TBinaryProtocol; import org.apache.thrift.protocol.TProtocol; @@ -27,28 +36,55 @@ import org.openslx.satellitedaemon.util.RndStringEncrypt; * */ public class App { - public static void main(String[] args) throws UnrecoverableKeyException, NoSuchAlgorithmException, CertificateException, FileNotFoundException, KeyStoreException, IOException, InvalidKeyException, SignatureException { + public static void main(String[] args) throws UnrecoverableKeyException, + NoSuchAlgorithmException, CertificateException, + FileNotFoundException, KeyStoreException, IOException, + InvalidKeyException, SignatureException { + String nilsIp = "132.230.4.23"; + int thriftPort = 9090; + int ftpPort = 2221; try { TTransport transport; - transport = new TSocket("132.230.4.23", 9090); //Nils IP + transport = new TSocket(nilsIp, thriftPort); // Nils IP transport.open(); TProtocol protocol = new TBinaryProtocol(transport); - ImageServer.Client client = new ImageServer.Client( - protocol); + ImageServer.Client client = new ImageServer.Client(protocol); String rnd = client.startServerAuthentication("uni-freiburg.de"); - System.out.println(rnd); - - RndStringEncrypt rse = new RndStringEncrypt("serverid", "password", "/home/michael/satellite-daemon/config/serverid.jks"); + System.out.println(rnd); + + RndStringEncrypt rse = new RndStringEncrypt("serverid", "password", + "/home/michael/satellite-daemon/config/serverid.jks"); byte[] byteArray = rse.encryptRndString(rnd); - ServerSessionData sSD = client.serverAuthenticate("uni-freiburg.de", ByteBuffer.wrap(byteArray)); - System.out.println(sSD.sessionId); - ImageData imDat = new ImageData(UUID.randomUUID().toString(), 113, "TestImage", 100, 105, "me", "anyThing", true, false, "theBest", "theVeryBest", 1024 ); - FtpCredentials ftpc = client.submitImage(sSD.sessionId, imDat); - - transport.close(); + ServerSessionData sSD = client.serverAuthenticate( + "uni-freiburg.de", ByteBuffer.wrap(byteArray)); + System.out.println(sSD.sessionId); + ImageData imDat = new ImageData(UUID.randomUUID().toString(), 113, + "TestImage", System.currentTimeMillis(), System.currentTimeMillis(), "me", "anyThing", true, false, + "theBest", "theVeryBest", 1024); + FtpCredentials ftpc = client.submitImage(sSD.sessionId, imDat); + FTPSClient ftpClient = new FTPSClient("SSL", true); + TrustManagerFactory trustManagerFactory = TrustManagerFactory + .getInstance(KeyManagerFactory.getDefaultAlgorithm()); + KeyStore keystore = KeyStore.getInstance("JKS"); + keystore.load(new FileInputStream(new File( + "/home/michael/satellite-daemon/config/ftpsid.jks")), + "password".toCharArray()); + trustManagerFactory.init(keystore); + TrustManager trustManager = trustManagerFactory.getTrustManagers()[0]; + ftpClient.setTrustManager(trustManager); + try { + ftpClient.connect( nilsIp, ftpPort ); + if (!ftpClient.login(ftpc.username, ftpc.password)) { + throw new ConnectException("Could not login."); + } + System.out.println( "Connected to " + nilsIp + ":" + ftpPort + ". Reply code: " + ftpClient.getReplyCode() ); + } finally { + ftpClient.disconnect(); + } + transport.close(); } catch (TException x) { x.printStackTrace(); } diff --git a/src/main/java/org/openslx/satellitedaemon/db/DbImage.java b/src/main/java/org/openslx/satellitedaemon/db/DbImage.java index b7fb67d..9004d6a 100644 --- a/src/main/java/org/openslx/satellitedaemon/db/DbImage.java +++ b/src/main/java/org/openslx/satellitedaemon/db/DbImage.java @@ -17,7 +17,7 @@ public class DbImage * @return list of images that are marked for upload, where the upload * was either not started yet, or is incomplete */ - public List getAllMarkedForUpload() + public static List getAllMarkedForUpload() { // TODO: Implement return new ArrayList<>(); diff --git a/src/main/java/org/openslx/satellitedaemon/ftp/FtpUpDownUtil.java b/src/main/java/org/openslx/satellitedaemon/ftp/FtpUpDownUtil.java deleted file mode 100644 index d83c0ea..0000000 --- a/src/main/java/org/openslx/satellitedaemon/ftp/FtpUpDownUtil.java +++ /dev/null @@ -1,88 +0,0 @@ -package org.openslx.satellitedaemon.ftp; - -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; - -import org.apache.commons.net.ftp.FTPClient; - -public class FtpUpDownUtil { - /** - * FTP-Dateienliste. - * @return String-Array der Dateinamen auf dem FTP-Server - */ - public static String[] list( String host, int port, String usr, String pwd ) throws IOException - { - FTPClient ftpClient = new FTPClient(); - String[] filenameList; - - try { - ftpClient.connect( host, port ); - ftpClient.login( usr, pwd ); - filenameList = ftpClient.listNames(); - ftpClient.logout(); - } finally { - ftpClient.disconnect(); - } - - return filenameList; - } - - /** - * FTP-Client-Download. - * @return true falls ok - */ - public static boolean download( String localResultFile, String remoteSourceFile, - String host, int port, String usr, String pwd, boolean showMessages ) throws IOException - { - FTPClient ftpClient = new FTPClient(); - FileOutputStream fos = null; - boolean resultOk = true; - - try { - ftpClient.connect( host, port ); - if( showMessages ) { System.out.println( ftpClient.getReplyString() ); } - resultOk &= ftpClient.login( usr, pwd ); - if( showMessages ) { System.out.println( ftpClient.getReplyString() ); } - fos = new FileOutputStream( localResultFile ); - resultOk &= ftpClient.retrieveFile( remoteSourceFile, fos ); - if( showMessages ) { System.out.println( ftpClient.getReplyString() ); } - resultOk &= ftpClient.logout(); - if( showMessages ) { System.out.println( ftpClient.getReplyString() ); } - } finally { - try { if( fos != null ) { fos.close(); } } catch( IOException e ) {/* nothing to do */} - ftpClient.disconnect(); - } - - return resultOk; - } - - /** - * FTP-Client-Upload. - * @return true falls ok - */ - public static boolean upload( String localSourceFile, String remoteResultFile, - String host, int port, String usr, String pwd, boolean showMessages ) throws IOException - { - FTPClient ftpClient = new FTPClient(); - FileInputStream fis = null; - boolean resultOk = true; - - try { - ftpClient.connect( host, port ); - if( showMessages ) { System.out.println( ftpClient.getReplyString() ); } - resultOk &= ftpClient.login( usr, pwd ); - if( showMessages ) { System.out.println( ftpClient.getReplyString() ); } - fis = new FileInputStream( localSourceFile ); - resultOk &= ftpClient.storeFile( remoteResultFile, fis ); - if( showMessages ) { System.out.println( ftpClient.getReplyString() ); } - resultOk &= ftpClient.logout(); - if( showMessages ) { System.out.println( ftpClient.getReplyString() ); } - } finally { - try { if( fis != null ) { fis.close(); } } catch( IOException e ) {/* nothing to do */} - ftpClient.disconnect(); - } - - return resultOk; - } -} -- cgit v1.2.3-55-g7522