最近要把项目的访问地址的协议从http改为https,真是让人头大!!!
于是看了几篇博客,配置了一下就成功了,废话不多说,直奔主题:
总体分两步:
第一步(注册证书):
进入jdk的安装目录bin目录下,输入以下口令:
keytool -genkey -alias https -keyalg RSA -keystore https.keystore
然后在按照他的提示信息开始一步一步填写注册信息就行:
D:\jdk\jdk1.8.0_152\bin>keytool -genkey -alias https -keyalg RSA -keystore https.keystore
输入密钥库口令: -- 这里我用的是123456
再次输入新口令:
您的名字与姓氏是什么?
[Unknown]: zhang
您的组织单位名称是什么?
[Unknown]: zhang
您的组织名称是什么?
[Unknown]: zhang
您所在的城市或区域名称是什么?
[Unknown]: zhang
您所在的省/市/自治区名称是什么?
[Unknown]: zhang
该单位的双字母国家/地区代码是什么?
[Unknown]: zhang
CN=zhang, OU=zhang, O=zhang, L=zhang, ST=zhang, C=zhang是否正确?
[否]: 是
输入 <https> 的密钥口令
(如果和密钥库口令相同, 按回车):
再次输入新口令: -- 这里同样是输入123456
Warning:
JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore https.keystore -destkeystore https.keystore -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。
将最后的Warning下的提示信息引号里的:keytool -importkeystore -srckeystore https.keystore -destkeystore https.keystore -deststoretype pkcs12命令复制然后粘贴到命令窗口回车就行。
D:\jdk\jdk1.8.0_152\bin>keytool -importkeystore -srckeystore https.keystore -destkeystore https.keystore -deststoretype pkcs12
输入源密钥库口令: --还是123456
已成功导入别名 https 的条目。
已完成导入命令: 1 个条目成功导入, 0 个条目失败或取消
Warning:
已将 "https.keystore" 迁移到 Non JKS/JCEKS。将 JKS 密钥库作为 "https.keystore.old" 进行了备份。
这样的话就注册完毕了,就可以进行第二步操作了。
第二部(配置文件):
我们在jdk的安装目录bin目录下可以看到注册完后生成的两个文件:
我们忽略.old文件将另一个文件复制到resource的根路径下。
然后我们将配置application.properties的参数:
server.ssl.key-store=classpath:https.keystore
server.ssl.key-store-password=123456
server.ssl.keyStoreType=jks
server.ssl.keyAlias=https
这个配置参数我们到cmd命令窗口输入命令:keytool -list -v -keystore D:\sslhttps\src\main\resources\https.keystore -storepass 123456,然后进行查看
其中D:\sslhttps\src\main\resources\https.keystore这个路径是你放到项目中的那个文件的路径
D:\>keytool -list -v -keystore D:\sslhttps\src\main\resources\https.keystore -storepass 123456
密钥库类型: jks
密钥库提供方: SUN
您的密钥库包含 1 个条目
别名: test2
创建日期: 2019-1-28
条目类型: PrivateKeyEntry
证书链长度: 1
证书[1]:
所有者: CN=chen, OU=xiaolong, O=xiaolong, L=shanghai, ST=sss, C=ss
发布者: CN=chen, OU=xiaolong, O=xiaolong, L=shanghai, ST=sss, C=ss
序列号: 6fa80cdb
有效期为 Mon Jan 28 16:42:29 CST 2019 至 Sun Apr 28 16:42:29 CST 2019
证书指纹:
MD5: 87:72:C9:8C:96:87:85:AD:3D:88:0D:5D:AF:F2:3E:45
SHA1: 68:81:FC:13:3A:CD:7C:69:AA:68:87:55:DE:E0:5A:B4:CC:79:C2:F1
SHA256: FD:C0:78:20:88:9C:E9:35:94:5F:88:CA:36:8A:5B:73:54:A7:D3:D0:68:7E:4C:DC:01:D1:A6:7A:8B:ED:FA:88
签名算法名称: SHA256withRSA
主体公共密钥算法: 2048 位 RSA 密钥
版本: 3
扩展:
#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 9E BB 2A 4D EC 71 A9 EF A5 A5 26 23 66 19 77 49 ..*M.q....&#f.wI
0010: 87 2D 26 99 .-&.
]
]
*******************************************
*******************************************
至此我们协议就变成https啦