windows和Linux系统使用java keytool工具生成cas单点登录数字证书

来源:互联网 发布:阿里旺旺淘宝网 编辑:程序博客网 时间:2024/06/01 08:29

Windows数字证书

1.生成数字证书

1.1进入[%JAVA_HOME%]路径下

cd C:\Program Files (x86)\Java\jdk1.6.0_39\bin

1.2生成证书

  keytool -genkey -alias tomcat -keyalg RSA -keypass changeit -storepass changeit -keystore server.keystore -validity 3600

注: -validity 指证书的有效期(天),缺省有效期很短,只有90天
输入参数:

 您的名字与姓氏是什么?       [Unknow]: xxx.xxxx.com.cn     您的组织单位名称是什么?       [Unknow]: xxxx     您的组织名称是什么?       [Unknow]: xxxx     您所在的城市或区域名称是什么?       [Unknow]: beijing     您所在的洲或省份名称是什么?       [Unknow]: beijing     该单位的两字母国家代码是什么?       [Unknow]: 86   CN=cas.wptx.com.cn, OU=wptx, O=wptx, L=beijing, ST=beijing, C=86 正确吗?     [否]: Y 

数字证书【server.keystore】储存于当前目录【C:\Program Files (x86)\Java\jdk1.6.0_39\bin】

1.3 将server.keystore文件复制到【%CATALINA_HOME%】下
如: Tomcat目录【C:\Program Files (x86)\Apache Software Foundation\Tomcat 5.5】

2.导出数字证书
2.1 进入[%JAVA_HOME%]路径下

cd C:\Program Files (x86)\Java\jdk1.6.0_39\binkeytool -export -trustcacerts -alias tomcat -file server.cer -keystore server.keystore -storepass changeit

导出后的证书【server.cer】储存在当前目录【C:\Program Files (x86)\Java\jdk1.6.0_39\bin】

3.导入数字证书
3.1 导入证书Jdk

    Setup-1: 复制证书【server.cer】到【C:\Program Files (x86)\Java\jdk1.6.0_39\jre\lib\security\】    Setup-2: cd C:\Program Files (x86)\Java\jdk1.6.0_39\bin    Steup-3: keytool -import -trustcacerts -alias tomcat -file "C:\Program Files (x86)\Java\jdk1.6.0_39\jre\lib\security\server.cer" -keystore "C:\Program Files (x86)\Java\jdk1.6.0_39\jre\lib\security\cacerts" -storepass changeit         注: 以上两行是一个命令, 中间没有换行  2> 导入证书Jre    Setup-1: 复制证书【server.cer】到【C:\Program Files (x86)\Java\jre6\lib\security\】    Steup-2:     Steup-3: keytool -import -trustcacerts -alias tomcat -file "C:\Program Files (x86)\Java\jre6\lib\security\server.cer" -keystore "C:\Program Files (x86)\Java\jre6\lib\security\cacerts" -storepass changeit         注: 以上两行是一个命令, 中间没有换行

4.删除数字证书(需要时操作)
4.1 删除证书Jdk

 keytool -delete -trustcacerts -alias tomcat -keystore "C:\Program Files (x86)\Java\jdk1.6.0_39\jre\lib\security\cacerts" -storepass changeit

4.2 删除证书Jre

keytool -delete -trustcacerts -alias tomcat -keystore "C:\Program Files (x86)\Java\jre6\lib\security\cacerts" -storepass changeit

证书生成和导入密钥库以后需要修改tomcat的server.xml配置,开放8443端口。
修改C:\Program Files (x86)\Apache Software Foundation\Tomcat 5.5\conf\server.xml

<!-- Define a SSL HTTP/1.1 Connector on port 8443 -->  <Connector port="8443" maxHttpHeaderSize="8192"        maxThreads="150" minSpareThreads="25" maxSpareThreads="75"        enableLookups="false" disableUploadTimeout="true"        acceptCount="100" scheme="https" secure="true"        clientAuth="false" sslProtocol="TLS" keystoreFile="server.keystore" keystorePass="changeit" ciphers="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA" />

keystoreFile配置项指明keystore文件位置,当前配置是说server.keystore文件放在tomcat主目录下
keystorePass配置项指明访问密码,也就是生成证书时-storepass参数后跟的值。
ciphers配置项是希望chome流浪器也可以访问。

Linux数字证书

服务器环境说明

1、apache-tomcat. 服务器上安装的是apache-tomcat-7.0.65版本,安装在/opt目录下。
2、apache-activemq. 服务器上安装的是apache-activemq-5.10.2版本,安装在/opt目录下。
3、jdk. 服务器上安装的是jdk1.7.0_67版本,安装在/opt目录下。
4、JAVA_HOME环境变量配置: JAVA_HOME=/opt/jdk1.7.0_67

1、域名:
cas:单点登录 test.xxxx.com.cn
2、证书
2.1 生成证书

cd /opt/jdk1.7.0_67/binkeytool -genkey -alias tomcat -keyalg RSA -keypass changeit -storepass changeit -keystore server.keystore -validity 3600
您的名字与姓氏是什么?  [Unknow]: test.xxxx.com.cn您的组织单位名称是什么?  [Unknow]: xxxx您的组织名称是什么?  [Unknow]: xxxx您所在的城市或区域名称是什么?  [Unknow]: beijing您所在的洲或省份名称是什么?  [Unknow]: beijing该单位的两字母国家代码是什么?  [Unknow]: 86 CN=cas.wptx.com.cn, OU=wptx, O=wptx, L=beijing, ST=beijing, C=86 正确吗?   [否]: Y

2.2 根证书赋予tomcat使用

cp server.keystore /opt/apache-tomcat-7.0.65/

2.3 导出证书

keytool -export -trustcacerts -alias tomcat -file server.cer -keystore server.keystore -storepass changeit

2.4 导入证书

root@10-4-8-193 bin]# ls -tlar server.*-rw-r--r-- 1 root root 2242 Mar 31 17:11 server.keystore-rw-r--r-- 1 root root 889 Mar 31 17:12 server.cer

2.4.1 复制证书给jre

cp server.cer /opt/jdk1.7.0_67/jre/lib/security/ 

2.4.2 导入证书

keytool -import -trustcacerts -alias tomcat -keystore "/opt/jdk1.7.0_67/jre/lib/security/cacerts" -file "/opt/jdk1.7.0_67/jre/lib/security/server.cer" -storepass changeit

linux系统同样需要修改tomcat的server.xml文件开放8443端口,配置内容与windows下的配置相同,不再赘述。

删除数字证书(需要时操作)

1> 删除证书Jdk

keytool -delete -trustcacerts -alias tomcat -keystore "/opt/jdk1.7.0_67/jre/lib/security/cacerts" -storepass changeit
0 0