67,513
社区成员
发帖
与我相关
我的任务
分享
public class SslContextFactory {
private static final SSLContext SERVER_CONTEXT;
static {
try {
KeyManager[] keyManagers = new KeyManager[]{};
KeyManager keyManager = new KeyManager() {
};
keyManagers[0] = keyManager;
TrustManager[] trustAllCerts = new TrustManager[]{};
TrustManager tm = new TrustManager() {
};
trustAllCerts[0] = tm;
SSLContext sc = SSLContext.getInstance("TLS");
sc.init(keyManagers, trustAllCerts, null);
SERVER_CONTEXT = sc;
} catch (Exception e) {
throw new Error("Failed to initialize the client-side SSLContext", e);
}
}
public static SSLContext getServerContext() {
return SERVER_CONTEXT;
}
}
@Override
protected void initChannel(SocketChannel ch) throws Exception {
// SSLContext clientContext = SSLContext.getDefault();
SSLContext clientContext = SslContextFactory.getServerContext();
//SSLEngine engine = clientContext.createSSLEngine();
SSLEngine engine = clientContext.createSSLEngine(socketAddress, socketPort);
engine.setUseClientMode(true);
engine.setNeedClientAuth(false);
ch.pipeline().addLast(new SslHandler(engine));