Warning: session_start(): open(/var/lib/php/sessions/sess_asj0d0v9l4igoi4989fgds3j55, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
// assumes you also use serveHttp (for classes MyHTTPD and NanoHTTPD)
static MyHTTPD serveHttps_server;
static int serveHttps_port = 8889;
static void serveHttps(int port, File keystore, S pass) ctex {
serveHttps_port = port;
serveHttps_server = new MyHTTPD(port);
serveHttps_server.makeSecure(serveHttps_makeSSLSocketFactory(keystore, pass));
serveHttps_server.start();
System.out.println("HTTPS server started (listening on port " + port + "!)");
}
// seems to assume same password is used for keystore as well as certificate.
static SSLServerSocketFactory serveHttps_makeSSLSocketFactory(File keystoreFile, S passphrase) ctex {
KeyStore keystore = KeyStore.getInstance(KeyStore.getDefaultType());
InputStream keystoreStream = new FileInputStream(keystoreFile);
try {
keystore.load(keystoreStream, passphrase.toCharArray());
} finally {
keystoreStream.close();
}
TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
trustManagerFactory.init(keystore);
KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
keyManagerFactory.init(keystore, passphrase.toCharArray());
SSLContext ctx = SSLContext.getInstance("TLS");
ctx.init(keyManagerFactory.getKeyManagers(), trustManagerFactory.getTrustManagers(), null);
ret ctx.getServerSocketFactory();
}