前言:
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)
配置成功截图