Https的SSL证书在服务器端部署,基于tomcat

1、简述keystore

keystore可理解为一个数据库,可以存很多个组数据。
每组数据主要包含下面两种数据:
a. 密钥实体(Key entity)——密钥(secret key)又或者是私钥和配对公钥(采用非对称加密)
b. 可信任的证书实体(trusted certificate entries)————只包含公钥
那就是把keystore文件部署到服务器中就OK了。

2、CA证书在服务器端中的部署

2.1 证书下载

可通过阿里云网站中"下载" -> "tomcat" -> "下载证书 for tomcat"

在阿里云网站中同样可以下载如 Nginx、Apache等服务器证书文件。

2.2 下载证书后各文件的介绍

  1. *.pfx 为 keystore文件,服务器用的就是这个文件;
  2. pfx-password.txt 里包含有keystore用到的密码;
  3. *.key 里面包含的是私钥,暂时没用到此文件;
  4. *.pem 里面包含的是公钥,主要给客户端。

2.3 针对Tomcat服务器部署

在服务器的tomcat目录文件夹.\conf\server.xml配置文件中

点击查看代码
<Connector port="443"
    protocol="HTTP/1.1"
    SSLEnabled="true"
    scheme="https"
    secure="true"
    keystoreFile="cert/*.pfx"
    keystoreType="PKCS12"
    keystorePass="证书密码"
    clientAuth="false"
    SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"
    ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>

2.4 针对Spring Boot的部署

spring boot 因为是内嵌了tomcat的,理论上对tomcat的配置是一样的,
只不过Spring Boot有更简单的配置方法

  1. 把*.pfx copy到工程相应的resources下面
  2. 修改resources\application.properties,增加如下属性
点击查看代码
server.port=443
server.ssl.key-store=classpath:*.pfx
server.ssl.key-store-password=证书密码
server.ssl.keyStoreType=PKCS12

3. 自签名证书在服务器的配置

其实 自签名证书 的配置和 CA证书 的配置是一样的
只不过:

  1. 把*.pfx 换成你之前生成的keystore.p12
  2. 把密码换成你之前生成keystore所用的密码

参考链接: https://blog.csdn.net/gary_yan/article/details/77981303

posted @ 2022-05-24 14:26  John_yan15  阅读(125)  评论(0编辑  收藏  举报