1、使用JDK自带的keytool生成一个keystore,这个keystore是服务端使用的,直接在bin目录下执行
keytool -genkey -alias netty -keypass 123456 -keyalg RSA -keysize 1024 -validity 365 -keystore D:/test/netty.keystore -storepass 123456
2、新建一个安全工具类,用于返回一个SSLEngine
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.net.ssl.KeyManagerFactory;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLEngine;
import java.security.KeyStore;
import java.security.Security;
/**
* @description: SSL服务器端认证
*/
public class HttpSslContextFactory {
private static final Logger LOGGER = LoggerFactory.getLogger(HttpSslContextFactory.class);
// private static final String PROTOCOL = "SSLv2";
private static final String PROTOCOL = "SSLv3";//客户端可以指明为SSLv3或者TLSv1.2
/**针对于服务器端配置*/
private static SSLContext sslContext = null;
static {
String algorithm = Security
.getProperty("s

本文介绍了如何使用JDK的keytool生成keystore,以及如何在Java中通过SSLContext创建SSLEngine,用于Netty服务器端的安全通信。此外,还展示了如何在客户端使用Apache HttpClient跳过证书验证进行HTTPS连接。
最低0.47元/天 解锁文章
960

被折叠的 条评论
为什么被折叠?



