首先要生成一个keystore证书。参考:Tomcat创建HTTPS访问,java访问httpsssl证书生成:cer&jks文件生成摘录,spring-boot

这里复现一下完整过程:

安装好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 您的密钥库包含 个条目 别名: tomcatjks
创建日期: --
条目类型: PrivateKeyEntry
证书链长度:
证书[]:
所有者: 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 :: CST , 截止日期: Sun Dec :: CST
证书指纹:
MD5: E6::5E:::A5:F8:A4:DA:::::::6E
SHA1: :A7:::::B6:5E:::1E:B6::1A::C6:::1B:BD
SHA256: CC:1E:E1::B1:EA:B6::F1::A5:::4A:::8D::2C:::0E:E6:D6:::E5:C4::B6:AC:
签名算法名称: SHA256withRSA
版本: 扩展: #: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
: BC 2B C1 8C AC 5B 6D BB BA C5 9E CB .+....[m8.Q6....
: EE S.(I
]
] *******************************************
*******************************************

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

C:\Users\miaorf>keytool -list -rfc -keystore d:\tomcat.jks
输入密钥库口令: 密钥库类型: JKS
密钥库提供方: SUN 您的密钥库包含 个条目 别名: tomcatjks
创建日期: --
条目类型: PrivateKeyEntry
证书链长度:
证书[]:
-----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 =
server.ssl.key-store = classpath:tomcat.jks
server.ssl.key-store-password = secret
server.ssl.key-password = password

启动:

gradlew bootRun,

最终打印信息:

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

浏览器访问:

https://localhost:8443/

spring boot启用tomcat ssl的更多相关文章

  1. spring boot(10)-tomcat jdbc连接池

    默认连接池 tomcat jdbc是从tomcat7开始推出的一个连接池,相比老的dbcp连接池要优秀很多.spring boot将tomcat jdbc作为默认的连接池,只要在pom.xml中引入了 ...

  2. Spring boot (12) tomcat jdbc连接池

    默认连接池 tomcat jdbc是从tomcat7开始推出的一个连接池,相比老的dbcp连接池要优秀很多,spring boot将tomcat jdbc作为默认的连接池,只要在pom.xml中引入了 ...

  3. spring boot (2):spring boot 打包tomcat、tomcat 部署多个项目、服务器部署项目SSL 设置(阿里云)

    一.spring boot 内置tomcat配置https: 关于自签名证书可以看下上一篇 spring boot1 更详细的可以看转载 https://www.jianshu.com/p/8d4ab ...

  4. Spring Mvc和Spring Boot配置Tomcat支持Https

    SpringBoot配置支持https spring boot因为是使用内置的tomcat,所以只需要一些简单的配置即可. 1.首先打开命令行工具,比如cmd,输入以下命令 keytool -genk ...

  5. Spring Boot中Tomcat是怎么启动的

    Spring Boot一个非常突出的优点就是不需要我们额外再部署Servlet容器,它内置了多种容器的支持.我们可以通过配置来指定我们需要的容器. 本文以我们平时最常使用的容器Tomcat为列来介绍以 ...

  6. spring boot 添加整合ssl使得http变成https方法

    1. https出现的背景:(1)都知道http传输协议是裸漏的,明文传输的,极易被黑客拦截,因此,(2)人们想出的使用加密,也就是 对称加密 例如aes,不过这个由于因为对称加密需要每个客户端和服务 ...

  7. Spring Boot 启用Gzip压缩

    有两点需要注意 1.需要在application.properties里启用压缩,并设置压缩支持的格式(默认支持text/html等,但不支持application/json) server.comp ...

  8. Spring Boot - 修改Tomcat默认的8080端口

    前言 默认情况下,Spring Boot内置的Tomcat服务会使用8080端口启动,我们可以使用以下任何技巧去更改默认的Tomcat端口: 注:我们可以通过server.port=0配置,去自动配置 ...

  9. spring boot + embed tomcat + standalone jar的内存泄露问题

    前一阵遇到了一个很坑的内存泄露问题,记录于此: 有个项目采用spring cloud重构后,部署到线上(其中有一个接口,大概每天调用量在1千万次左右),发现zabbix监控里,linux的可用内存一直 ...

随机推荐

  1. Android 中关于ListView分割线的设置

    今天发现许多App上的listview的item之间的分割线都只显示了右边一部分,而左边的那一半则没有,第一反应则是给分割线设置一张背景图片就ok了: android:divider="@m ...

  2. apache配置反向代理

    http.conf 去掉前面的#号 LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/ ...

  3. nodemailer 发邮件

    var transporter = nodemailer.createTransport({//v1.0 above do not use 'SMTP' as first param host: &q ...

  4. 带额外toggle()功能的jquery库

    <html><head><meta http-equiv="Content-Type" content="text/html;charset ...

  5. 初探SQL注入

    1.1注入语句(通过时间注入函数) 数据库名称 localhost:8080/ScriptTest/userServlet?username='union SELECT IF(SUBSTRING(cu ...

  6. ubuntu自定义分辨率

    首先说下为啥要专门敲个文章来说明这个问题,因为我最近入手了一台分辨率为3200*1800的高分辨率笔记本,但使用的时候发现现在的操作系统及其诸多软件对高分辨率屏幕的支持真的是太烂,字体发虚或者变得非常 ...

  7. vs2013 无法打开 源 文件 "SDKDDKVer.h"

    使用vs2013开发 win32相关的程序的时候,回报很多属性未定义或者文件找不到的错误 例如构建 控制台程序就会报: vs2013 无法打开 源 文件 "SDKDDKVer.h" ...

  8. CSS 基础语法

    注:CSS对大小写不敏感,但是如果涉及到与HTML文档一起工作的时候,class和id名称对大小写是敏感的 一.color color:#ff0000; color:#f00; //缩写 color: ...

  9. Python黑帽编程2.5 函数

    Python黑帽编程2.5 函数 写了几节的基础知识,真心感觉有点力不从心.这块的内容说实话,看文档是最好的方式,本人的写作水平,真的是找不出更好的写法,头疼.简单带过和没写一样,写详细了和本系列教程 ...

  10. 手工给Meteor增加smart package的方法

    windows下无法装mrt(Meteor的包管理工具).不过还好smart package本身也就只是一个文件夹而已,不需要在Meteor中注册什么东西.所以直接把smart package扔到me ...