前言:

JKS文件是一个Java中的密钥管理库。

JKS文件就好像一个仓库,里面可以放很多的东西,这里只存放一类东西就是密钥,仓库当然会有一把锁,防范别人随便乱拿,这个就是JKS文件的密码。里面存放的密钥也各有不同,每个密钥都有一个名字(在下面叫别名),一类就密钥对,一类叫公钥,一类叫私钥,密钥对就是包含公钥和私钥的。这里的公钥只要你能进入仓库你就可以随便查看拿走,私钥则是有密码的,只允许有权限的人查看拿走。

Keytool 是一个JAVA环境下的安全钥匙与证书的管理工具,Keytool将密钥(key)和证书(certificates)存在一个称为keystore 的文件(受密码保护)中。

在keystore里,包含两种数据: 
密钥实体(Key entity)——密钥(secretkey)又或者是私钥和配对公钥(采用非对称加密)
可信任的证书实体(trustedcertificate entries)——只包含公钥

一、创建证书keystore
创建证书keystore的过程。

操作步骤
使用JDK自带的命令keytool创建“keystore”文件,其中包含了密钥。在命令行窗口中输入以下命令:

keytool -genkey -alias AA -keyalg RSA -keysize 1024 -validity 365 -keystore AA.jks

根据系统提示输入密钥库“keystore”的密码,例如:“123456”。

根据系统提示,输入其他数据。

输入完成后,系统将询问用户输入的信息是否正确,如果正确,请输入“y”,否则请输入“n”。

 

提示输入密钥口令:

 

当前目录下生成密钥库文件:

 

注:此项要输入本机ip

二、创建自签名的证书
创建自签名的证书的过程。

操作步骤
使用JDK自带的命令keytool创建自签名证书。
keytool -selfcert -alias AA -keystore AA.jks

输入创建keystore时输入的密码。

对keystore进行验证。
keytool -selfcert -alias AA -keystore AA.jks

 

验证成功后,将证书导出。
keytool -export -alias AA -keystore AA.jks -storepass 123456 -rfc -file AA.cer

 

系统将根据前面的keystore文件在当前目录导出一个cer文件。

 

三、导入证书到  受信任的根证书颁发机构

 

关于受信任的根证书添加详见证书生成文档\自签发的 SSL 证书添加为浏览器受信任证书.docx

四、配置tomcat的server.xml(tomcat7.0)

 

配置成功截图