(
import java.io.*;
import java.net.*;
import java.rmi.server.*;
import javax.net.ssl.*;
import java.security.KeyStore;
import javax.net.*;
import javax.net.ssl.*;
import javax.security.cert.X509Certificate;public class RMISSLServerSocketFactory
implements RMIServerSocketFactory, Serializable {    public ServerSocket createServerSocket(int port)
throws IOException

    SSLServerSocketFactory ssf = null;
    try {
// set up key manager to do server authentication
SSLContext ctx;
KeyManagerFactory kmf;
KeyStore ks;
char[] passphrase = "isdnymk".toCharArray(); ctx = SSLContext.getInstance("TLS");
kmf = KeyManagerFactory.getInstance("SunX509");
ks = KeyStore.getInstance("JKS"); ks.load(getClass().getResourceAsStream("/serverkeystore"), passphrase);
kmf.init(ks, passphrase);
ctx.init(kmf.getKeyManagers(), null, null); ssf = ctx.getServerSocketFactory();
    } catch (Exception e) {
e.printStackTrace();
    }
    System.out.println("create socket server port:"+port);
    return ssf.createServerSocket(port);
}
}
)