springboot配置ssl访问https
Posted Vashon_杨博程
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot配置ssl访问https相关的知识,希望对你有一定的参考价值。
简介
https = http + ssl,SSL(Secure Sockets Layer 安全套接层)是为网络通信提供安全及数据完整性的一种安全协议,SSL在网络传输层对网络连接进行加密,SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通信提供安全支持。SSL协议分为两层,SSL记录协议建立在TCP之上,为高层协议提供数据封装、压缩、加密等基本功能支持。SSL握手协议建立在SSL记录协议之上,用户实际数据传输开始前进行身份验证、协商加密算法、交换加密秘钥。
步骤
1、生成证书,可以使自签名或者从SSL证书授权中心获得。
JDK中keytool是一个证书管理工具,可以生成自签名证书;切换到java的bin目录,地址栏执行cmd命令,制作证书采用jdk自带keytool工具创建。以下为windows 操作系统下命令格式。
keytool -help
密钥和证书管理工具
命令:
-certreq 生成证书请求
-changealias 更改条目的别名
-delete 删除条目
-exportcert 导出证书
-genkeypair 生成密钥对
-genseckey 生成密钥
-gencert 根据证书请求生成证书
-importcert 导入证书或证书链
-importpass 导入口令
-importkeystore 从其他密钥库导入一个或所有条目
-keypasswd 更改条目的密钥口令
-list 列出密钥库中的条目
-printcert 打印证书内容
-printcertreq 打印证书请求的内容
-printcrl 打印 CRL 文件的内容
-storepasswd 更改密钥库的存储口令
keytool -genkeypair -help
keytool -genkeypair [OPTION]...
生成密钥对
选项:
-alias <alias> 要处理的条目的别名
-keyalg <keyalg> 密钥算法名称
-keysize <keysize> 密钥位大小
-sigalg <sigalg> 签名算法名称
-destalias <destalias> 目标别名
-dname <dname> 唯一判别名
-startdate <startdate> 证书有效期开始日期/时间
-ext <value> X.509 扩展
-validity <valDays> 有效天数
-keypass <arg> 密钥口令
-keystore <keystore> 密钥库名称
-storepass <arg> 密钥库口令
-storetype <storetype> 密钥库类型
-providername <providername> 提供方名称
-providerclass <providerclass> 提供方类名
-providerarg <arg> 提供方参数
-providerpath <pathlist> 提供方类路径
-v 详细输出
-protected 通过受保护的机制的口令
在命令行窗口执行以下命令:
keytool -genkey -alias myService -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore D:/keystore.p12 -validity 365 -keypass 123456 -storepass 123456 -dname "CN=Web Server,OU=Unit,O=Organization,L=City,S=State,C=US"
2、查看证书:
keytool -list -v -keystore D:/keystore.p12 -storepass 123456
3、证书放入项目
将生成的证书keystore.p12放入到项目的resources路径下,并配置yaml如下:
server:
port: 9300
# ssl配置
ssl:
key-store: classpath:keystore.p12
key-store-type: PKCS12
key-store-password: 123456
key-password: 123456
key-alias: myService
以上就完成了项目的https的配置。
启动项目,访问https://localhost:9300。
以上是关于springboot配置ssl访问https的主要内容,如果未能解决你的问题,请参考以下文章
springboot+nginx+https+linux实现负载均衡加域名访问简单测试