首先要生成一个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. 2016/11/17 周四 <javascript的封装简单示例>

    这是一个简单的javascript代码封装的示例以及封装后的调用方法: var ticker={ n:0, add:function() { this.n++; }, show:function() ...

  2. GIT和SVN之间的区别及基本操作对比

    1)GIT是分布式的,SVN不是: 这是GIT和其它非分布式的版本控制系统,例如 SVN,CVS等,最核心的区别.如果你能理解这个概念,那么你就已经上手一半了.需要做一点声明,GIT并不是目前第一个或 ...

  3. IOS网络第七天WebView-02WebView和网页的交互2,删除大众点评多余文字,加上蒙版进度

    ************ #import "HMViewController.h" @interface HMViewController () <UIWebViewDele ...

  4. SQLite 预写式日志

    SQLite在3.7.0版本引入了WAL (Write-Ahead-Logging),WAL的全称是Write Ahead Logging,它是很多数据库中用于实现原子事务的一种机制,引入WAL机制之 ...

  5. .NET开源OpenID和OAuth解决方案Thinktecture IdentityServer

    现代的应用程序看起来像这样: 典型的交互操作包括: 浏览器与 web 应用程序进行通信 Web 应用程序与 web Api (有时是在他们自己的有时代表用户) 通信 基于浏览器的应用程序与 web A ...

  6. ABP理论学习之开篇介绍

    返回总目录 为了和2016年春节赛跑,完成该系列博客,我牺牲了今天中午的时间来完成该系列的第一篇----开篇介绍.开篇介绍嘛,读过大学教材的同学都知道,这玩意总是那么无聊,跟考试没关系,干脆直接跳过, ...

  7. NoSQL初探之人人都爱Redis:(4)Redis主从复制架构初步探索

    一.主从复制架构简介 通过前面几篇的介绍中,我们都是在单机上使用Redis进行相关的实践操作,从本篇起,我们将初步探索一下Redis的集群,而集群中最经典的架构便是主从复制架构.那么,我们首先来了解一 ...

  8. C#中使用Socket请求Web服务器过程

    最开始我们需要明白一件事情,因为这是这篇文章的前提: HTTP协议只是一个应用层协议,它底层是通过TCP进行传输数据的.因此,浏览器访问Web服务器的过程必须先有“连接建立”的发生. 而有人或许会问: ...

  9. Web3DGame之路,Babylonjs 和TypeScript学习笔记(二)

    先来认识一下Babylonjs,由于基于webgl来开发,所以先介绍一下基础知识. Webgl是一个html标准,他要在canvas元素上初始化. Html页面上的准备 所以我们先从html页面开始看 ...

  10. Java ServletContextListener用法

    ServletContext 被 Servlet 程序用来与 Web 容器通信.例如写日志,转发请求.每一个 Web 应用程序含有一个Context,被Web应用内的各个程序共享.因为Context可 ...