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                   要处理的条目的别名
 -keyalg                 密钥算法名称
 -keysize               密钥位大小
 -sigalg                 签名算法名称
 -destalias           目标别名
 -dname                   唯一判别名
 -startdate           证书有效期开始日期/时间
 -ext                     X.509 扩展
 -validity              有效天数
 -keypass                   密钥口令
 -keystore             密钥库名称
 -storepass                 密钥库口令
 -storetype           密钥库类型
 -providername     提供方名称
 -providerclass   提供方类名
 -providerarg               提供方参数
 -providerpath         提供方类路径
 -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
springboot配置ssl访问https_第1张图片

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。

你可能感兴趣的:(java,https,网络,ssl)