Tomcat HTTPS

一、创建证书

因为是测试用所以用JDK自带的keytool工具生成证书
真正上线的产品肯定要去花钱买证书哒
证书认证一般都是由VeriSign认证,中文官方网站:http://www.verisign.com/cn/

keytool 命令有很多 这里就不一一介绍,具体的可以使用 “keytool -command_name -help” 获取 command_name 的用法

密钥和证书管理工具

命令:

-certreq 生成证书请求
-changealias 更改条目的别名
-delete 删除条目
-exportcert 导出证书
-genkeypair 生成密钥对
-genseckey 生成密钥
-gencert 根据证书请求生成证书
-importcert 导入证书或证书链
-importpass 导入口令
-importkeystore 从其他密钥库导入一个或所有条目
-keypasswd 更改条目的密钥口令
-list 列出密钥库中的条目
-printcert 打印证书内容
-printcertreq 打印证书请求的内容
-printcrl 打印 CRL 文件的内容
-storepasswd 更改密钥库的存储口令

这里我们生成一个密匙对,用RSA算法加密

keytool -genkey -alias icwhich -keyalg RSA -keystore E:/keys/icwhichkey

回车输入以下信息:

输入密钥库口令:
再次输入新口令:
您的名字与姓氏是什么?
  [Unknown]:  www.icwhich.com
  *严重提醒:这里输入的域名地址,不是你的或者公司名字什么的姓氏*
您的组织单位名称是什么?
  [Unknown]:  icwhich.com
您的组织名称是什么?
  [Unknown]:  icwhich.com
您所在的城市或区域名称是什么?
  [Unknown]:  XIAN
您所在的省/市/自治区名称是什么?
  [Unknown]:  SHANNXI
该单位的双字母国家/地区代码是什么?
  [Unknown]:  CHINA
CN=www.icwhich.com, OU=icwhich.com, O=icwhich.com, L=XIAN, ST=SHANNXI, C=CHINA是否正确?
  [否]:  y

输入 <icwhich> 的密钥口令
        (如果和密钥库口令相同, 按回车):

如果没有域名可以在hosts虚拟一个域名地址,其实就是在
C:\Windows\System32\drivers\etc\hosts
添加一个静态路由

127.0.0.1  www.icwhich.com

下来还需要导出证书给JVM使用

二、导出证书

keytool -export -file E:/keys/icwhich.crt -alias icwhich -keystore E:/keys/icwhichkey

输入密钥库口令:
存储在文件 E:/keys/icwhich.crt中的证书

三、导入JVM

keytool -import -keystore "D:\Program Files\Java\jdk1.8.0_45\jre\lib\security\cacerts" -file E:/keys/icwhich.crt -alias icwhich

输入密钥库口令:
PS:这里的口令不是之前创建证书的口令,默认是changeit
所有者: CN=www.icwhich.com, OU=icwhich.com, O=icwhich.com, L=XIAN, ST=SHANNXI, C=CHINA
发布者: CN=www.icwhich.com, OU=icwhich.com, O=icwhich.com, L=XIAN, ST=SHANNXI, C=CHINA
序列号: 17a199ca
有效期开始日期: Wed Aug 19 09:54:37 CST 2015, 截止日期: Tue Nov 17 09:54:37 CST 2015
证书指纹:
         MD5: C6:F1:A3:5B:BE:B6:E1:D4:14:74:50:5E:AB:88:CD:EF
         SHA1: 6E:8C:1F:7C:6F:4A:5D:D0:E8:64:A5:EF:1C:BB:EB:63:DD:38:6E:DC
         SHA256: 8C:D6:D8:80:8F:D8:8F:63:FE:25:21:D7:87:E3:4A:FA:59:16:B4:81:C5:D7:99:67:DB:A7:FE:8D:F0:A1:C8:3F
         签名算法名称: SHA256withRSA
         版本: 3

扩展:

#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: D4 04 D9 C0 A2 3D A1 39   04 B7 83 B7 A3 D1 E6 4D  .....=.9.......M
0010: DC 03 44 03                                        ..D.
]
]

是否信任此证书? [否]:  y
证书已添加到密钥库中

下来我们就可以把证书应用的Web服务器上了

四、应用证书

以Tomcat为例,开启SSL协议,把server.xml注释的部分修改为

<!--
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" />
-->
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="E:/keys/icwhichkey" keystorePass="871124"/>

好了,到此Tomcat的SSL启用完成,现在启动tomcat试一下

打开浏览器输入
https://www.icwhich.com:8443/

这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值