WEB 服务器上配置 HTTPS 环境
---单向认证
[实践目的及内容]
利用 Java 的数据证书管理工具 Keytool 生成服务器端的数字证书,以便采用 HTTPS 访问
web 应用时提供单向认证(一般是客户端验证 服务 器 端 的 身 份) 时需要的服务器证 书 。
Keytool 工具将密钥(key)和证书(certicates)存在一个称为 keystore 的文件中。在
keystore 里,包含两种数据:
(1)密钥实体(Key entity)——通常是私钥和配对公钥(采用非对称加密)S
(2)可信任的证书实体(trusted certicate entries)——只包含公钥
[实践步骤]
(1)进入到 jdk 下的 bin 目录
(2)输入如下指令“keytool -v -genkey -alias tomcat -keyalg RSA -keystore
d:/tomcat.keystore”
d:/tomcat.keystore 是将生成的 tomcat.keystore 放到 d 盘根目录下。注意若要放到 c 盘,在 win7 系统下,需要
以管理员身份进入到命令行中进行操作,否则是无法创建 tomcat.keystore 的。本例放到 d 盘下。
如何以管理员身份进入到命令行下呢?开始->搜索框中输入 cmd->等待(注意不回车)->出现 cmd.exe->右键
“以管理员身份运行”即可。
解释:
keytool -genkey:自动使用默认的算法生成公钥和私钥
-alias[名称]:给证书取个别名
-keyalg:制定密钥的算法,如果需要制定密钥的长度,可以再加上 keysize 参数,密钥长度默认为 1024 位,使
用 DSA 算法时,密钥长度必须在 512 到 1024 之间,并且是 64 的整数倍
-keystore:参数可以指定密钥库的名称。密钥库其实是存放密钥和证书文件,密钥库对应的文件如果不存在会
自动创建。
-validity:证书的有效日期,默认是 90 天