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 下载证书后各文件的介绍
- *.pfx 为 keystore文件,服务器用的就是这个文件;
- pfx-password.txt 里包含有keystore用到的密码;
- *.key 里面包含的是私钥,暂时没用到此文件;
- *.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有更简单的配置方法
- 把*.pfx copy到工程相应的resources下面
- 修改resources\application.properties,增加如下属性
点击查看代码
server.port=443
server.ssl.key-store=classpath:*.pfx
server.ssl.key-store-password=证书密码
server.ssl.keyStoreType=PKCS12
3. 自签名证书在服务器的配置
其实 自签名证书 的配置和 CA证书 的配置是一样的
只不过:
- 把*.pfx 换成你之前生成的keystore.p12
- 把密码换成你之前生成keystore所用的密码
参考链接: https://blog.csdn.net/gary_yan/article/details/77981303