SpringBoot使用HTTPS协议通信
一、基础命令
-genkey 在用户主目录中创建一个默认文件”.keystore”,还会产生一个mykey的别名,mykey中包含用户的公钥、私钥和证书
(在没有指定生成位置的情况下,keystore会存在用户系统默认目录,如:对于window xp系统,会生成在系统的C:/Documents and Settings/UserName/文件名为”.keystore”)
-alias 产生别名
-keystore 指定密钥库的名称(产生的各类信息将不在.keystore文件中)
-keyalg 指定密钥的算法 (如 RSA DSA(如果不指定默认采用DSA))
-validity 指定创建的证书有效期多少天
-keysize 指定密钥长度
-storepass 指定密钥库的密码(获取keystore信息所需的密码)
-keypass 指定别名条目的密码(私钥的密码)
-dname 指定证书拥有者信息
-list 显示密钥库中的证书信息
-v 显示密钥库中的证书详细信息
-export 将别名指定的证书导出到文件
-file 参数指定导出到文件的文件名
-delete 删除密钥库中某条目
-printcert 查看导出的证书信息
-keypasswd 修改密钥库中指定条目口令
-storepasswd 修改keystore口令
-import 将已签名数字证书导入密钥库
二、生成证书
keytool -genkeypair -alias zgeo_https -keypass 123456 -keyalg RSA -keysize 1024 -validity 365 -keystore d:/zgeo_https.keystore -storepass 123456 -dname “CN=lyqh, OU=zgeo,O=www.zgeo.com, L=NanJing, S=JS, C=CH”
keystore文件导入项目resources文件夹下
zgeo-web/src/main/resources
项目配置启用ssl,并配置证书位置
server:
port: 443
servlet:
context-path: /web/
ssl:
enabled: true
key-alias: zgeo_https
key-password: 123456
key-store: classpath:zgeo_https.keystore
key-store-password: 123456
key-store-type: JKS
三、访问项目,HTTPS默认使用443端口,HTTP默认使用80端口
四、配置项目支持HTTP和HTTPS
五、如果系统用户访问系统时,信任系统可以安装客户端证书
导出.car文件证书
keytool -keystore d:/zgeo_https.keystore -export -alias zgeo_https -file d:/server.cer
可以使用谷歌浏览器导入证书