From 0632a02beb78705dc93b760c7bfa86ecedacb970 Mon Sep 17 00:00:00 2001
From: shikeying <pxzsky@163.com>
Date: 星期四, 22 二月 2024 11:10:34 +0800
Subject: [PATCH] 增加注释

---
 walker-tcp/src/main/java/com/walker/tcp/netty/WebSocketServerInitializer.java |   44 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 44 insertions(+), 0 deletions(-)

diff --git a/walker-tcp/src/main/java/com/walker/tcp/netty/WebSocketServerInitializer.java b/walker-tcp/src/main/java/com/walker/tcp/netty/WebSocketServerInitializer.java
index 2700971..e97e4b4 100644
--- a/walker-tcp/src/main/java/com/walker/tcp/netty/WebSocketServerInitializer.java
+++ b/walker-tcp/src/main/java/com/walker/tcp/netty/WebSocketServerInitializer.java
@@ -6,7 +6,15 @@
 import io.netty.handler.codec.http.HttpServerCodec;
 import io.netty.handler.logging.LogLevel;
 import io.netty.handler.logging.LoggingHandler;
+import io.netty.handler.ssl.SslHandler;
 import io.netty.handler.stream.ChunkedWriteHandler;
+
+import javax.net.ssl.KeyManagerFactory;
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.SSLEngine;
+import java.io.FileInputStream;
+import java.io.InputStream;
+import java.security.KeyStore;
 
 public class WebSocketServerInitializer extends DefaultServerInitializer {
 
@@ -38,4 +46,40 @@
 		pipeline.addLast("handler", this.getHandler());
 	}
 
+	/**
+	 * 鍒涘缓鏀寔wss鍙潬杩炴帴鐨勯�氫俊銆傛殏鏃朵笉浣跨敤銆�
+	 * <pre>
+	 *     1) 涓嶈繃鐩墠鎯呭喌鐪嬶紝涓�鑸槸鍦� nginx 绔唬鐞嗚缃嵆鍙紝涓�鑸笉蹇呭湪绋嬪簭涓敮鎸�
+	 *     2) 纭疄闇�瑕佸湪绋嬪簭涓敮鎸侊紝闇�瑕侀厤缃瘉涔︼紝杩欏湪闆嗙兢鐜涓嬪緢闅剧淮鎶ゃ��
+	 * </pre>
+	 * @param pipeline
+	 * @param password
+	 * @throws Exception
+	 * @date 2024-01-31
+	 */
+	private void createSSLHandler(ChannelPipeline pipeline, String password) throws Exception{
+		KeyStore ks = KeyStore.getInstance("JKS");
+		InputStream ksInputStream = new FileInputStream("/Users/liukun/ca/demo.liukun.com.keystore.jks");
+		ks.load(ksInputStream, password.toCharArray());
+		KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
+		kmf.init(ks, password.toCharArray());
+		SSLContext sslContext = SSLContext.getInstance("TLS");
+		sslContext.init(kmf.getKeyManagers(), null, null);
+		SSLEngine sslEngine = sslContext.createSSLEngine();
+		sslEngine.setUseClientMode(false);
+		sslEngine.setNeedClientAuth(false);
+		// 闇�鎶奡slHandler娣诲姞鍦ㄧ涓�浣�
+		pipeline.addFirst("ssl", new SslHandler(sslEngine));
+	}
+
+	/**
+	 * 鏄惁鍏佽浣跨敤锛歸ss鍙潬閫氶亾
+	 * @param enableSSL
+	 * @date 2024-01-31
+	 */
+	public void setEnableSSL(boolean enableSSL) {
+		this.enableSSL = enableSSL;
+	}
+
+	private boolean enableSSL = false;
 }

--
Gitblit v1.9.1