spring boot启用tomcat ssl

简介:

安装好java后,cmd就可以使用keytool了。

生成ssl证书:

复制代码
C:\Users\miaorf>keytool -genkey -alias tomcatjks -keyalg RSA -keystore d:\tomcat.jks
输入密钥库口令:
再次输入新口令:
您的名字与姓氏是什么?
  [Unknown]:  ryan miao
您的组织单位名称是什么?
  [Unknown]:  com.test
您的组织名称是什么?
  [Unknown]:  com.test
您所在的城市或区域名称是什么?
  [Unknown]:  sz
您所在的省/市/自治区名称是什么?
  [Unknown]:  gd
该单位的双字母国家/地区代码是什么?
  [Unknown]:  cn
CN=ryan miao, OU=com.test, O=com.test, L=sz, ST=gd, C=cn是否正确?
  [否]:  y

输入 <tomcatjks> 的密钥口令
        (如果和密钥库口令相同, 按回车):
复制代码

 

查看证书

复制代码
C:\Users\miaorf>keytool -list -v -keystore d:\tomcat.jks
输入密钥库口令:

密钥库类型: JKS
密钥库提供方: SUN

您的密钥库包含 1 个条目

别名: tomcatjks
创建日期: 2016-9-5
条目类型: PrivateKeyEntry
证书链长度: 1
证书[1]:
所有者: CN=ryan miao, OU=com.test, O=com.test, L=sz, ST=gd, C=cn
发布者: CN=ryan miao, OU=com.test, O=com.test, L=sz, ST=gd, C=cn
序列号: 32d82f57
有效期开始日期: Mon Sep 05 21:27:52 CST 2016, 截止日期: Sun Dec 04 21:27:52 CST 2016
证书指纹:
         MD5: E6:03:5E:97:78:A5:F8:A4:DA:69:00:45:48:41:64:6E
         SHA1: 34:A7:16:80:34:69:B6:5E:35:83:1E:B6:61:1A:87:C6:99:13:1B:BD
         SHA256: CC:1E:E1:99:B1:EA:B6:67:F1:53:A5:11:63:4A:31:53:8D:36:2C:15:59:0E:E6:D6:35:22:E5:C4:48:B6:AC:82
         签名算法名称: SHA256withRSA
         版本: 3

扩展:

#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: BC 2B C1 06 8C AC 5B 6D   38 BB 51 36 BA C5 9E CB  .+....[m8.Q6....
0010: 53 EE 28 49                                        S.(I
]
]



*******************************************
*******************************************
复制代码

 

缺省情况下,-list 命令打印证书的 MD5 指纹。而如果指定了 -v 选项,将以可读格式打印证书,如果指定了 -rfc 选项,将以可打印的编码格式输出证书。

复制代码
C:\Users\miaorf>keytool -list -rfc -keystore d:\tomcat.jks
输入密钥库口令:

密钥库类型: JKS
密钥库提供方: SUN

您的密钥库包含 1 个条目

别名: tomcatjks
创建日期: 2016-9-5
条目类型: PrivateKeyEntry
证书链长度: 1
证书[1]:
-----BEGIN CERTIFICATE-----
MIIDYTCCAkmgAwIBAgIEMtgvVzANBgkqhkiG9w0BAQsFADBhMQswCQYDVQQGEwJj
bjELMAkGA1UECBMCZ2QxCzAJBgNVBAcTAnN6MREwDwYDVQQKEwhjb20udGVzdDER
MA8GA1UECxMIY29tLnRlc3QxEjAQBgNVBAMTCXJ5YW4gbWlhbzAeFw0xNjA5MDUx
MzI3NTJaFw0xNjEyMDQxMzI3NTJaMGExCzAJBgNVBAYTAmNuMQswCQYDVQQIEwJn
ZDELMAkGA1UEBxMCc3oxETAPBgNVBAoTCGNvbS50ZXN0MREwDwYDVQQLEwhjb20u
dGVzdDESMBAGA1UEAxMJcnlhbiBtaWFvMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
MIIBCgKCAQEAoorikcrv8WedDYA4LvmnXTRRtanHtsSKJXlv/NLgcVYwsBncb63q
nCPgDbHpFXO2X/qg84ogneMHTu41cLzFAUsdym9aRCHnSLk1gO0ohJoNPOlYBqit
4dbdF+T/dEwh5foq6JivUGPx2hc+TI4QnLrRDe1TS9ftGRStHNMJVBXm7A1gpbHL
PRrC01V0uCn4SK5BQ+/P0SfClJUM7uOI7HgJKG276o3XXLUM2S5BJrAJz2iJmnIJ
BuwqaQXKdrWIlRXPNIVNmKSjGr/MhcnhrKWIbvNe4tlyahFQP61Rl08eqxtRmrLy
WNHG22mzJ7FP4pWE8wiKH678iVGQJrGjDQIDAQABoyEwHzAdBgNVHQ4EFgQUvCvB
BoysW204u1E2usWey1PuKEkwDQYJKoZIhvcNAQELBQADggEBAAjzv65Np0ju1y/f
WQBR2l0+VuLN8NTaR3WciKqnerYTXGOB1///nVpJhmVvBYwim9MNuN8aG3GmQD1O
8e9NJZ5fR4KIWrrtPRGHNQQEMVVOLKzTt80AGGqVcpHuSdjB0yBQPSCXhYHOiTI8
bpSjW5rVRFNh1obRe0ohnbB1PZaz1U5t3Cjo8ESOa3jp/3QP81o8iL9+eJnwjcK+
iD3n1F7i7izeBuOxfybEv47ZGVDkNRcKmzHWizQ66nhtGLU/nYuZzLErvQAmuzT6
Boh+m8O5yMtxw4WParrTtD0dIG8wE15/I6nwPqPh9kGzs85vFTccta+Z9jm7V4rC
r2JAKVs=
-----END CERTIFICATE-----


*******************************************
*******************************************
复制代码

 

将tomcat.jks复制到classpath下。并且配置application.yml:

server.port = 8443
server.ssl.key-store = classpath:tomcat.jks
server.ssl.key-store-password = secret
server.ssl.key-password = password

 

 

启动:

gradlew bootRun,

最终打印信息:

2016-09-05 21:54:05.003  INFO 6080 --- [  restartedMain] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8443 (https)
2016-09-05 21:54:05.008 DEBUG 6080 --- [  restartedMain] o.s.w.c.s.StandardServletEnvironment     : Adding [server.ports] PropertySource with highest search precedence
2016-09-05 21:54:05.019  INFO 6080 --- [  restartedMain] c.r.b.config.ApplicationContextConfig    : Started ApplicationContextConfig in 17.621 seconds (JVM running for 21.676)

 本文转自Ryan.Miao博客园博客,原文链接:http://www.cnblogs.com/woshimrf/p/springboot-tomcat-ssl.html,如需转载请自行联系原作者

相关文章
|
5月前
|
前端开发 Java 应用服务中间件
从零手写实现 tomcat-08-tomcat 如何与 springboot 集成?
该文是一系列关于从零开始手写实现 Apache Tomcat 的教程概述。作者希望通过亲自动手实践理解 Tomcat 的核心机制。文章讨论了 Spring Boot 如何实现直接通过 `main` 方法启动,Spring 与 Tomcat 容器的集成方式,以及两者生命周期的同步原理。文中还提出了实现 Tomcat 的启发,强调在设计启动流程时确保资源的正确加载和初始化。最后提到了一个名为 mini-cat(嗅虎)的简易 Tomcat 实现项目,开源于 [GitHub](https://github.com/houbb/minicat)。
|
5月前
|
前端开发 Java 应用服务中间件
Springboot对MVC、tomcat扩展配置
Springboot对MVC、tomcat扩展配置
|
5月前
|
前端开发 Java 应用服务中间件
从零手写实现 tomcat-08-tomcat 如何与 springboot 集成?
本文探讨了Spring Boot如何实现像普通Java程序一样通过main方法启动,关键在于Spring Boot的自动配置、内嵌Servlet容器(如Tomcat)以及`SpringApplication`类。Spring与Tomcat集成有两种方式:独立模式和嵌入式模式,两者通过Servlet规范、Spring MVC协同工作。Spring和Tomcat的生命周期同步涉及启动、运行和关闭阶段,通过事件和监听器实现。文章鼓励读者从实现Tomcat中学习资源管理和生命周期管理。此外,推荐了Netty权威指南系列文章,并提到了一个名为mini-cat的简易Tomcat实现项目。
|
2月前
|
消息中间件 Java Kafka
SpringBoot Kafka SSL接入点PLAIN机制收发消息
SpringBoot Kafka SSL接入点PLAIN机制收发消息
30 0
|
4月前
|
前端开发 Java 应用服务中间件
Spring框架第六章(SpringMVC概括及基于JDK21与Tomcat10创建SpringMVC程序)
Spring框架第六章(SpringMVC概括及基于JDK21与Tomcat10创建SpringMVC程序)
|
5月前
|
存储 Java 应用服务中间件
Springboot项目打war包部署到外置tomcat容器【详解版】
该文介绍了将Spring Boot应用改为war包并在外部Tomcat中部署的步骤:1) 修改pom.xml打包方式为war;2) 排除内置Tomcat依赖;3) 创建`ServletInitializer`类继承`SpringBootServletInitializer`;4) build部分需指定`finalName`;5) 使用`mvn clean package`打包,将war包放入外部Tomcat的webapps目录,通过startup脚本启动Tomcat并访问应用。注意,应用访问路径和静态资源引用需包含war包名。
354 0
|
5月前
|
Dubbo Java 应用服务中间件
启动tomcat时,卡主在信息: Initializing Spring FrameworkServlet 'e3-manager'
启动tomcat时,卡主在信息: Initializing Spring FrameworkServlet 'e3-manager'
37 0
|
5月前
|
前端开发 Java 应用服务中间件
springboot 升级(1.5.7.RELEASE升级到2.7.10) Tomcat启动报错
springboot 升级(1.5.7.RELEASE升级到2.7.10) Tomcat启动报错
|
应用服务中间件 网络安全 Java
下一篇
无影云桌面