This worked for me (Just for quick reference) :
import java.io.File;
import java.io.FileInputStream;
import java.security.KeyStore;
import javax.net.ssl.KeyManagerFactory;
import javax.net.ssl.SSLContext;
import org.restexpress.RestExpress;
public class SSLExpressRestServer {
public static void main(String[] args) {
RestExpress server = new RestExpress().setPort(443);
// register the controller
server.uri("local", new Controller());
SSLContext sslContext=null;
try {
KeyStore keyStore = KeyStore.getInstance("JKS");
File keyStoreFile = new File("myKeyStoreFile.jks");
if(!keyStoreFile.exists()){
System.err.println("File doesn't exist");
System.exit(1);
}
// this can be read from javax.net.ssl.keyStore property
char[] passwordChars = "password".toCharArray();
keyStore.load(new FileInputStream(keyStoreFile), passwordChars);
KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance("SunX509");
keyManagerFactory.init(keyStore, passwordChars);
sslContext = SSLContext.getInstance("TLS");
sslContext.init(keyManagerFactory.getKeyManagers(), null, null);
} catch (Exception e) {
e.printStackTrace();
System.exit(1);
}
server.setSSLContext(sslContext);
server.bind();
server.awaitShutdown();
}
}