用KeyTool生成安全证书

1、用keytool生成证书
   配置环境变量JAVA_HOME,并将%JAVA_HOME%/bin配置到环境变量path中,我使用的jdk版本是1.5.0,执行:
   keytool -genkey -alias tomcat -keyalg RSA -keystore e:/tomcat/https/mykey -storepass 111111 -keypass 111111
  回车,会提示你输入一些个人信息及组织信息如:
  What is your first and last name?
  What is the name of your organizational unit?
  What is the name of your organization?
  What is the name of your City or Locality?
  What is the name of your State or Province?
  What is the two-letter country code for this unit?
  Is <CN=***, OU=***, O=***, L=***, ST=***, C=CN> correct?
  这里输入yes,回车即可。
  公共名称(cn)应该是服务器的域名。
JDK中keytool常用命令
-genkey      在用户主目录中创建一个默认文件".keystore",还会产生一个mykey的别名,mykey中包含用户的公钥、私钥和证书
-alias       产生别名
-keystore    指定密钥库的名称(产生的各类信息将不在.keystore文件中
-keyalg      指定密钥的算法 
-validity    指定创建的证书有效期多少天
-keysize     指定密钥长度
-storepass   指定密钥库的密码
-keypass     指定别名条目的密码
-dname       指定证书拥有者信息 例如:  "CN=sagely,OU=atr,O=szu,L=sz,ST=gd,C=cn"
-list        显示密钥库中的证书信息      keytool -list -v -keystore sage -storepass ....
-v           显示密钥库中的证书详细信息
-export      将别名指定的证书导出到文件  keytool -export -alias caroot -file caroot.crt
-file        参数指定导出到文件的文件名
-delete      删除密钥库中某条目          keytool -delete -alias sage -keystore sage
-keypasswd   修改密钥库中指定条目口令    keytool -keypasswd -alias sage -keypass .... -new .... -storepass ... -keystore sage
-import      将已签名数字证书导入密钥库  keytool -import -alias sage -keystore sagely -file sagely.crt
             导入已签名数字证书用keytool -list -v 以后可以明显发现多了认证链长度,并且把整个CA链全部打印出来。
2、在tomcat中使用证书,修改server.xml,加入下面一段话:
<Connector port="1443" protocol="HTTP/1.1"  connectionTimeout="20000"  SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS"  keystoreFile="e:/tomcat/https/mykey" keystorePass="111111" URIEncoding="GBK"/>
3、重启Tomcat后在地址栏输入:https://localhost:1443
浏览显示的时候提示安装证书。
测试成功
4、导出证书
keytool -export -alias tomcat -storepass 111111 -
file e:/tomcat/https/server.cer -keystore e:/tomcat/https/mykey

你可能感兴趣的:(jdk,tomcat,算法,xml,浏览器)