目录
首先要生成一个keystore证书。参考:Tomcat创建HTTPS访问,java访问https,ssl证书生成:cer&jks文件生成摘录,spring-boot
这里复现一下完整过程:
安装好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]: cnCN=ryan miao, OU=com.test, O=com.test, L=sz, ST=gd, C=cn是否正确? [否]: y输入 <tomcatjks> 的密钥口令 (如果和密钥库口令相同, 按回车):
查看证书:
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=falseSubjectKeyIdentifier [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-----MIIDYTCCAkmgAwIBAgIEMtgvVzANBgkqhkiG9w0BAQsFADBhMQswCQYDVQQGEwJjbjELMAkGA1UECBMCZ2QxCzAJBgNVBAcTAnN6MREwDwYDVQQKEwhjb20udGVzdDERMA8GA1UECxMIY29tLnRlc3QxEjAQBgNVBAMTCXJ5YW4gbWlhbzAeFw0xNjA5MDUxMzI3NTJaFw0xNjEyMDQxMzI3NTJaMGExCzAJBgNVBAYTAmNuMQswCQYDVQQIEwJnZDELMAkGA1UEBxMCc3oxETAPBgNVBAoTCGNvbS50ZXN0MREwDwYDVQQLEwhjb20udGVzdDESMBAGA1UEAxMJcnlhbiBtaWFvMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoorikcrv8WedDYA4LvmnXTRRtanHtsSKJXlv/NLgcVYwsBncb63qnCPgDbHpFXO2X/qg84ogneMHTu41cLzFAUsdym9aRCHnSLk1gO0ohJoNPOlYBqit4dbdF+T/dEwh5foq6JivUGPx2hc+TI4QnLrRDe1TS9ftGRStHNMJVBXm7A1gpbHLPRrC01V0uCn4SK5BQ+/P0SfClJUM7uOI7HgJKG276o3XXLUM2S5BJrAJz2iJmnIJBuwqaQXKdrWIlRXPNIVNmKSjGr/MhcnhrKWIbvNe4tlyahFQP61Rl08eqxtRmrLyWNHG22mzJ7FP4pWE8wiKH678iVGQJrGjDQIDAQABoyEwHzAdBgNVHQ4EFgQUvCvBBoysW204u1E2usWey1PuKEkwDQYJKoZIhvcNAQELBQADggEBAAjzv65Np0ju1y/fWQBR2l0+VuLN8NTaR3WciKqnerYTXGOB1///nVpJhmVvBYwim9MNuN8aG3GmQD1O8e9NJZ5fR4KIWrrtPRGHNQQEMVVOLKzTt80AGGqVcpHuSdjB0yBQPSCXhYHOiTI8bpSjW5rVRFNh1obRe0ohnbB1PZaz1U5t3Cjo8ESOa3jp/3QP81o8iL9+eJnwjcK+iD3n1F7i7izeBuOxfybEv47ZGVDkNRcKmzHWizQ66nhtGLU/nYuZzLErvQAmuzT6Boh+m8O5yMtxw4WParrTtD0dIG8wE15/I6nwPqPh9kGzs85vFTccta+Z9jm7V4rCr2JAKVs=-----END CERTIFICATE-----**************************************************************************************
将tomcat.jks复制到classpath下。并且配置application.yml:
server.port = 8443server.ssl.key-store = classpath:tomcat.jksserver.ssl.key-store-password = secretserver.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 precedence2016-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/
关注我的公众号
联系客服