首先要生成一个 keystore 证书。参考:,,
这里复现一下完整过程:
安装好 java 后,cmd 就可以使用 keytool 了。
生成 ssl 证书:
- C: \Users\miaorf > keytool - genkey - alias tomcatjks - keyalg RSA - keystore d: \tomcat.jks输入密钥库口令: 再次输入新口令: 您的名字与姓氏是什么 ? [Unknown] : ryan miao您的组织单位名称是什么 ? [Unknown] : com.test您的组织名称是什么 ? [Unknown] : com.test您所在的城市或区域名称是什么 ? [Unknown] : sz您所在的省 / 市 / 自治区名称是什么 ? [Unknown] : gd该单位的双字母国家 / 地区代码是什么 ? [Unknown] : cn CN = ryan miao,
- OU = com.test,
- O = com.test,
- L = sz,
- ST = gd,
- C = cn是否正确 ? [否] : y输入的密钥口令 (如果和密钥库口令相同, 按回车) :
查看证书:
- C: \Users\miaorf > keytool - list - v - keystore d: \tomcat.jks输入密钥库口令: 密钥库类型: JKS密钥库提供方: SUN您的密钥库包含1个条目别名: tomcatjks创建日期: 2016 - 9 - 5条目类型: PrivateKeyEntry证书链长度: 1证书 [1] : 所有者: CN = ryan miao,
- OU = com.test,
- O = com.test,
- L = sz,
- ST = gd,
- C = cn发布者: CN = ryan miao,
- OU = com.test,
- O = com.test,
- L = sz,
- ST = gd,
- C = cn序列号: 32d82f57有效期开始日期: Mon Sep 05 21 : 27 : 52 CST 2016,
- 截止日期: Sun Dec 04 21 : 27 : 52 CST 2016证书指纹: MD5: E6: 03 : 5E: 97 : 78 : A5: F8: A4: DA: 69 : 00 : 45 : 48 : 41 : 64 : 6E SHA1: 34 : A7: 16 : 80 : 34 : 69 : B6: 5E: 35 : 83 : 1E: B6: 61 : 1A: 87 : C6: 99 : 13 : 1B: BD SHA256: CC: 1E: E1: 99 : B1: EA: B6: 67 : F1: 53 : A5: 11 : 63 : 4A: 31 : 53 : 8D: 36 : 2C: 15 : 59 : 0E: E6: D6: 35 : 22 : E5: C4: 48 : B6: AC: 82签名算法名称: SHA256withRSA版本: 3扩展: #1 : ObjectId: 2.5.29.14 Criticality = false SubjectKeyIdentifier[KeyIdentifier[0000 : BC 2B C1 06 8C AC 5B 6D 38 BB 51 36 BA C5 9E CB. + .... [m8.Q6....0010 : 53 EE 28 49 S. (I]] * *************************************************************************************
缺省情况下,-list 命令打印证书的 MD5 指纹。而如果指定了 -v 选项,将以可读格式打印证书,如果指定了 -rfc 选项,将以可打印的编码格式输出证书。
- C: \Users\miaorf > keytool - list - rfc - keystore d: \tomcat.jks输入密钥库口令: 密钥库类型: JKS密钥库提供方: SUN您的密钥库包含1个条目别名: tomcatjks创建日期: 2016 - 9 - 5条目类型: PrivateKeyEntry证书链长度: 1证书 [1] : -----BEGIN CERTIFICATE-----MIIDYTCCAkmgAwIBAgIEMtgvVzANBgkqhkiG9w0BAQsFADBhMQswCQYDVQQGEwJj bjELMAkGA1UECBMCZ2QxCzAJBgNVBAcTAnN6MREwDwYDVQQKEwhjb20udGVzdDER MA8GA1UECxMIY29tLnRlc3QxEjAQBgNVBAMTCXJ5YW4gbWlhbzAeFw0xNjA5MDUx MzI3NTJaFw0xNjEyMDQxMzI3NTJaMGExCzAJBgNVBAYTAmNuMQswCQYDVQQIEwJn ZDELMAkGA1UEBxMCc3oxETAPBgNVBAoTCGNvbS50ZXN0MREwDwYDVQQLEwhjb20u dGVzdDESMBAGA1UEAxMJcnlhbiBtaWFvMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A MIIBCgKCAQEAoorikcrv8WedDYA4LvmnXTRRtanHtsSKJXlv / NLgcVYwsBncb63q nCPgDbHpFXO2X / qg84ogneMHTu41cLzFAUsdym9aRCHnSLk1gO0ohJoNPOlYBqit 4dbdF + T / dEwh5foq6JivUGPx2hc + TI4QnLrRDe1TS9ftGRStHNMJVBXm7A1gpbHL PRrC01V0uCn4SK5BQ + /P0SfClJUM7uOI7HgJKG276o3XXLUM2S5BJrAJz2iJmnIJ
- BuwqaQXKdrWIlRXPNIVNmKSjGr/MhcnhrKWIbvNe4tlyahFQP61Rl08eqxtRmrLy WNHG22mzJ7FP4pWE8wiKH678iVGQJrGjDQIDAQABoyEwHzAdBgNVHQ4EFgQUvCvB BoysW204u1E2usWey1PuKEkwDQYJKoZIhvcNAQELBQADggEBAAjzv65Np0ju1y / f WQBR2l0 + VuLN8NTaR3WciKqnerYTXGOB1 ///nVpJhmVvBYwim9MNuN8aG3GmQD1O
- 8e9NJZ5fR4KIWrrtPRGHNQQEMVVOLKzTt80AGGqVcpHuSdjB0yBQPSCXhYHOiTI8 bpSjW5rVRFNh1obRe0ohnbB1PZaz1U5t3Cjo8ESOa3jp / 3QP81o8iL9 + eJnwjcK + iD3n1F7i7izeBuOxfybEv47ZGVDkNRcKmzHWizQ66nhtGLU / nYuZzLErvQAmuzT6 Boh + m8O5yMtxw4WParrTtD0dIG8wE15 / I6nwPqPh9kGzs85vFTccta + Z9jm7V4rC r2JAKVs = -----END CERTIFICATE-----**************************************************************************************
将 tomcat.jks 复制到 classpath 下。并且配置 application.yml:
- server.port = 8443 server.ssl.key - store = classpath: tomcat.jks server.ssl.key - store - password = secret server.ssl.key - password = password
启动:
gradlew bootRun,
最终打印信息:
- 2016 - 09 - 05 21 : 54 : 05.003 INFO 6080---[restartedMain] s.b.c.e.t.TomcatEmbeddedServletContainer: Tomcat started on port(s) : 8443(https) 2016 - 09 - 05 21 : 54 : 05.008 DEBUG 6080---[restartedMain] o.s.w.c.s.StandardServletEnvironment: Adding[server.ports] PropertySource with highest search precedence 2016 - 09 - 05 21 : 54 : 05.019 INFO 6080---[restartedMain] c.r.b.config.ApplicationContextConfig: Started ApplicationContextConfig in 17.621 seconds(JVM running
- for 21.676)
浏览器访问:
https://localhost:8443/
来源: http://www.cnblogs.com/woshimrf/p/5843756.html