From f89ef8d4385daeb260160c88db70e8ee1802495e Mon Sep 17 00:00:00 2001 From: Björn Hagemeister Date: Mon, 29 Sep 2014 18:14:59 +0200 Subject: Inserted key handling with private key and public key for handshake and switched arguments in call getImage to the right order. --- .../filetransfer/ThriftConnection.java | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) (limited to 'src/main/java/org/openslx/satellitedaemon/filetransfer/ThriftConnection.java') diff --git a/src/main/java/org/openslx/satellitedaemon/filetransfer/ThriftConnection.java b/src/main/java/org/openslx/satellitedaemon/filetransfer/ThriftConnection.java index da6c6df..673be05 100644 --- a/src/main/java/org/openslx/satellitedaemon/filetransfer/ThriftConnection.java +++ b/src/main/java/org/openslx/satellitedaemon/filetransfer/ThriftConnection.java @@ -19,6 +19,7 @@ import org.apache.thrift.transport.TFramedTransport; import org.apache.thrift.transport.TSocket; import org.apache.thrift.transport.TTransport; import org.apache.thrift.transport.TTransportException; +import org.openslx.encryption.AsymEncryptionHandler; import org.openslx.imagemaster.crcchecker.CrcFile; import org.openslx.imagemaster.thrift.iface.AuthorizationError; import org.openslx.imagemaster.thrift.iface.AuthorizationException; @@ -165,8 +166,9 @@ public class ThriftConnection { log.error("Client was null!"); return null; } - return theClient.getImage(imDat.guid, sSD.sessionId); + return theClient.getImage(sSD.sessionId, imDat.guid); } catch (ImageDataException e) { + log.debug("In catch - blog of thrift connection"); if (e.isSetNumber() && e.getNumber().equals(ImageDataError.INVALID_DATA)) { // Data in the db is not valid @@ -187,10 +189,11 @@ public class ThriftConnection { if (e.isSetNumber() && e.getNumber().equals( AuthorizationError.NOT_AUTHENTICATED)) { + log.error("Not authenticated. SessionID is not valid.", e); // SessionID is not valid // TODO: Code for new SSID } else if (e.getNumber().equals(AuthorizationError.NO_PERMISSION)) { - + log.error("No permission error.", e); } else { e.printStackTrace(); } @@ -263,21 +266,20 @@ public class ThriftConnection { // } if (!isAuthenticated) { log.info("ThriftConnection: Client not yet Authenticated. Trying..."); - String toEncrypt; if (theClient == null) { log.debug("The client was null"); return null; } try { - toEncrypt = theClient.startServerAuthentication(Globals + ByteBuffer tmpBuffer = theClient.startServerAuthentication(Globals .getOrganizationName()); + byte[] toEncrypt = new byte[tmpBuffer.remaining()]; + tmpBuffer.get(toEncrypt); log.info("The random String we want to encrypt: " + toEncrypt); - log.info("Length of the random String : " + toEncrypt.length()); - EncryptWithServerIdPublicKey rse = new EncryptWithServerIdPublicKey( - Globals.getThriftKeystoreAlias(), - Globals.getThriftKeystorePassword(), - Globals.getThriftKeystorePath()); - byte[] byteArray = rse.encryptString(toEncrypt); + log.info("Length of the random String : " + toEncrypt.length); + AsymEncryptionHandler aeh = new AsymEncryptionHandler(Globals.getPrivateKey()); + + byte[] byteArray = aeh.encryptMessage(toEncrypt); log.info( "Length of the byteArray of the random string after encryption :" + byteArray.length ); ByteBuffer b = ByteBuffer.wrap( byteArray ); log.info( "Length of the byteBuffer after encryption :" + b.remaining() ); -- cgit v1.2.3-55-g7522