最全最规范的配置JDK生成的SSL证书

1 找见JDK安装路径C:\Program Files\Java\jdk1.8.0_91\bin

2在这个路径下面打开dos窗口

3输入一下命令

keytool -genkey -alias tomcat -keyalg RSA -keystore F:\workspace\gitchexian\verify\src\main\resources\SSL.keystore   改成自己的安装路径

4 之后你按照dos提示一步一步往下走  密匙库口令随便输入 但是最好记住 

5 之后就会生成SSL.keystore自己命名好的文件  放到你的项目中 我是springboot项目 直接放到resource中就行

6 配置application.properties

//https访问的端口

server.port=8005   

//证书名称
server.ssl.key-store=classpath:SSL.keystore

//密匙库口令
server.ssl.key-store-password=k4098412

//密匙库类型 JKS千万别写错
server.ssl.keyStoreType=JKS

//别名
server.ssl.keyAlias=tomcat

这个别名说下 有些人可能觉得这个别名从哪来

在证书的目录下打开dos窗口 输出命令

 keytool -list -keystore SSL.keystore(你的证书名称)

途中所指的就是别名

7 之后再配置启动类

SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
public static void main(String[] args) {
SpringApplication.run(SpringBootStartApplication.class, args);
}

public void run(String[] args) throws Exception {
System.err.println("Report time for you: " +sdf.format(new Date()) + " ---> darling~ yours springboot project has been successfully started!nice day,right?");
}

/**
* http重定向到https
* @return
*/
@Bean
public TomcatServletWebServerFactory servletContainer() {
TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory() {
@Override
protected void postProcessContext(Context context) {
SecurityConstraint constraint = new SecurityConstraint();
constraint.setUserConstraint("CONFIDENTIAL");
SecurityCollection collection = new SecurityCollection();
collection.addPattern("/*");
constraint.addCollection(collection);
context.addConstraint(constraint);
}
};
tomcat.addAdditionalTomcatConnectors(httpConnector());
return tomcat;
}

@Bean
public Connector httpConnector() {
Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
connector.setScheme("http");
//Connector监听的http的端口号
connector.setPort(8080);
connector.setSecure(false);
//监听到http的端口号后转向到的https的端口号
connector.setRedirectPort(8005);
return connector;
}

 

在启动类中加上最后这两个方法就可以了

 

有些人可能会出现 以下报错:

DerInputStream.getLength(): lengthTag=109, too big.

解决办法

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<encoding>UTF-8</encoding>
过滤后缀为pem、pfx的证书文件
<nonFilteredFileExtensions>
<nonFilteredFileExtension>pem</nonFilteredFileExtension>
<nonFilteredFileExtension>pfx</nonFilteredFileExtension>
<nonFilteredFileExtension>p12</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>

在pom文件中加入这个依赖就可以解决了

就这几个部署  JDK自带的SSL证书就配置完了 

转载于:https://www.cnblogs.com/krlin/p/9791488.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值