概念
keytool 是个密钥和证书管理工具。它使用户能够管理自己的公钥/私钥对及相关证书,用于(通过数字签名)自我认证(用户向别的用户/服务认证自己)或数据完整性以及认证服务。
在JDK1.4以后的版本中都包含了这一工具,它的位置为%JAVA_HOME%\bin\keytool.exe
使用教程(java环境变量已经配好的情况下进行的)
1.查看帮助 cmd 命令行中输入keytool
2.创建证书1
keytool -genkeypair -alias "iwooto.com" -keystore "iwooto.keystore"
3.查看秘钥库里面的证书1
keytool -list -keystore iwooto.keystore
4.导出证书到文件1
keytool -export -alias iwooto.com -file iwooto.crt -keystore iwooto.keystore
5.导入证书1
2
3
4
5
6#导入iwooto.crt证书到test秘钥库
keytool -import -keystore test -file iwooto.crt
#导入iwooto.crt证书到JDK秘钥库(如果报错先删除jdk下的cacerts文件)
keytool -import -keystore D:\Java\jdk1.7.0_71\jre\lib\security\cacerts -file iwooto.crt
#或
keytool -import -keystore D:\Java\jdk1.7.0_71\jre\lib\security\cacerts -file iwooto.crt -alias iwooto.com
6.查看证书信息1
keytool -printcert -file iwooto.crt
7.修改证书条目口令1
keytool -keypasswd -alias iwooto.com -keystore iwooto.keystore
8.删除秘钥库的条目1
keytool -delete -keystore iwooto.keystore -alias iwooto.com
ssl单向证书
1、使用keytool为Tomcat生成证书
keytool -validity 3650 -genkey -v -alias tomcat -keyalg RSA -keystore D:/tomcat.keystore -dname “CN=server.iwooto.com,OU=iwooto,O=iwooto,L=shanghai,ST=shanghai,C=CN” -storepass 123456 -keypass 123456
2、生成服务器cer文件,导入客户端的浏览器内详见5(解决不信任问题)
keytool -export -alias tomcat -keystore D:\tomcat.keystore -storepass 123456 -rfc -file D:\tomcat.cer
3、配置tomcat目录下\conf\server.xm 打开文件,找到对应配置,取消注释,重新配置
1 | <Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true" |
4、配置项目下的web.xml文件
1 | <login-config> |
5、打开浏览器 - 工具 - internet选项-内容- 证书-受信任的根证书颁发机构-导入D:/tomcat.cer
ssl双向证书
1、使用keytool为tomcat生成证书
1 | keytool -validity 3650 -genkey -v -alias tomcat -keyalg RSA -keystore D:/tomcat.keystore -dname "CN=server.iwooto.com,OU=iwooto,O=iwooto,L=shanghai,ST=shanghai,C=CN" -storepass 123456 -keypass 123456 |
2、生成服务器cer文件,导入客户端的浏览器内详见5(解决不信任问题)
1 | keytool -export -alias tomcat -keystore D:\tomcat.keystore -storepass 123456 -rfc -file D:\tomcat.cer |
3、生成客户端证书库
keytool -validity 3650 -genkeypair -v -alias client -keyalg RSA -storetype PKCS12 -keystore D:/client.p12 -dname “CN=iwooto,OU=iwooto,O=iwooto,L=shanghai,ST=shanghai,C=CN” -storepass 123456 -keypass 123456
4、从客户端证书库中导出客户端证书
keytool -export -v -alias client -keystore D:\client.p12 -storetype PKCS12 -storepass 123456 -rfc -file D:\client.cer
5、生成客户端信任证书库(由服务端证书生成的证书库)
keytool -import -v -alias tomcat -file D:\tomcat.cer -keystore D:\client.truststore -storepass 123456
6、将客户端证书导入到服务器证书库(使得服务器信任客户端证书)
keytool -import -v -alias client -file D:\client.cer -keystore D:\tomcat.keystore -storepass 123456
7、查看证书库中的全部证书
keytool -list -keystore D:\tomcat.keystore -storepass 123456
8、配置tomcat目录下\conf\server.xm 打开文件,找到对应配置,取消注释,重新配置
1 | <Connector |
9、配置项目下的web.xml文件
1 | <login-config> |
10、导入服务端给客户端颁发的证书client.p12
双击“client.p12”一直默认下一步即可
11、服务端生成的信任证书导入到浏览器的根证书中
打开浏览器 - 工具 - internet选项-内容- 证书-受信任的根证书颁发机构-导入D:/tomcat.cer
参考链接:http://blog.csdn.net/a351945755/article/details/22727259