view src/main/java/org/monetdb/mcl/net/SecureSocket.java @ 800:09f463444dde monetdbs

TLS support in its most basic form
author Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
date Thu, 07 Dec 2023 11:21:39 +0100 (17 months ago)
parents 117e7917325d
children 88b3e8e89126
line wrap: on
line source
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 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;
    }
}