Changeset: 09f463444dde for monetdb-java
URL: https://dev.monetdb.org/hg/monetdb-java/rev/09f463444dde
Modified Files:
        src/main/java/org/monetdb/mcl/net/MapiSocket.java
        src/main/java/org/monetdb/mcl/net/SecureSocket.java
Branch: monetdbs
Log Message:

TLS support in its most basic form


diffs (40 lines):

diff --git a/src/main/java/org/monetdb/mcl/net/MapiSocket.java 
b/src/main/java/org/monetdb/mcl/net/MapiSocket.java
--- a/src/main/java/org/monetdb/mcl/net/MapiSocket.java
+++ b/src/main/java/org/monetdb/mcl/net/MapiSocket.java
@@ -345,7 +345,7 @@ public final class MapiSocket {
                con = sock;
        }
 
-       private Socket wrapTLS(Socket sock, Target.Validated validated) throws 
MCLException {
+       private Socket wrapTLS(Socket sock, Target.Validated validated) throws 
IOException {
                if (validated.getTls())
                        return SecureSocket.wrap(validated, sock);
                return sock;
diff --git a/src/main/java/org/monetdb/mcl/net/SecureSocket.java 
b/src/main/java/org/monetdb/mcl/net/SecureSocket.java
--- a/src/main/java/org/monetdb/mcl/net/SecureSocket.java
+++ b/src/main/java/org/monetdb/mcl/net/SecureSocket.java
@@ -1,9 +1,22 @@
 package org.monetdb.mcl.net;
 
+import org.monetdb.mcl.MCLException;
+
+import javax.net.ssl.SSLSocket;
+import javax.net.ssl.SSLSocketFactory;
+import java.io.IOException;
 import java.net.Socket;
 
 public class SecureSocket {
-    public static Socket wrap(Target.Validated validated, Socket sock) {
-        throw new MCLException("TLS connections (monetdbs://) are not 
supported yet");
+    public static Socket wrap(Target.Validated validated, Socket inner) throws 
IOException {
+        SSLSocketFactory factory = (SSLSocketFactory) 
SSLSocketFactory.getDefault();
+        String host = validated.connectTcp();
+        int port = validated.connectPort();
+        boolean autoclose = true;
+        SSLSocket sock = (SSLSocket) factory.createSocket(inner, host, port, 
autoclose);
+        sock.setUseClientMode(true);
+
+        sock.startHandshake();
+        return sock;
     }
 }
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to