java⽣成Https证书,及证书导⼊的步骤和过程
以下是相关的Tomcat,JDK和Windows环境:
Tomcat版本:tomcat-7.0.55
JDK版本: jdk1.6.0
⽬录所在的位置:
免费ssl证书永久生成
Serve的⽬录:D:\server\tomcat-7.0.55\
JDK的⽬录:D:\jdk\jdk1.6.0
1、⽣成服务器的密匙⽂件casserver.keystore
1)打开CMD切换到Serve的⽬录下⾯D:\Server\tomcat\下
2)执⾏:keytool -genkey -alias casserver -keypass cas123 -keyalg RSA -keystore casserver.keystore -validity 365
说明:
-alias指定别名为casserver;
-keyalg指定RSA算法;
-keypass指定私钥密码;
-keystore指定密钥⽂件名称为casserver.keystore;
-validity指定有效期为365天。
另外提⽰输⼊密匙库⼝令应与-keypass指定的cas123相同;您的名字与姓⽒fron是CAS服务器使⽤的域名(不能是IP,也不能是localhost),其它项随意填。
注意:
服务器上如果有多个JDK,请确认环境变量中的JDK路径为tomcat所使⽤的JDK,
如果不在环境变量中,也可切换到指定JDK的bin⽬录下执⾏命令;提⽰的输⼊keystore密码应与-keypass必须与指定的相同,
否则后⾯tomcat启动会报IO异常(Cannot recover key)。
命令执⾏成功后Server⽬录下多出casserver.keystore⽂件。
3)可以看到Tomcat 下⾯⽣成casserver.keystore
2.⽣成服务端证书
1)根据上⾯导出的casserver.keystore⽂件就可以⽣成⽂件,只需在原来的Serve的⽬录下⾯D:\Server\tomcat\下执⾏:
keytool -export -alias casserver -storepass cas123 - -keystore casserver.keystore
说明:
-alias指定别名为casserver;
-storepass指定私钥为liuqizhi;
-file指定导出证书的⽂件名为;
-keystore指定之前⽣成的密钥⽂件的⽂件名。
注意:-alias和-storepass必须为⽣成casserver.keystore密钥⽂件时所指定的别名和密码,否则证书导出失败
2)执⾏上⾯命令后发现多了⽂件
3.导⼊证书⽂件到cacerts 密钥库⽂件
接下来就是把上⾯⽣成的服务器的证书导⼊到cacerts密钥库⽂件中(后⾯的客户端会⽤到这些)
keytool -import -trustcacerts -alias casserver -storepass cas123 - –keystore cacerts
命令执⾏成功后Server⽬录下多出cacerts⽂件。
4.服务端Tomcat配置
在制作完成密钥⽂件、证书⽂件、密钥库⽂件后即可进⾏服务端Tomcat的配置。打开$CATALINA_HOME/l <!--keystoreFile ⽣成的安全证书的位置-->
<!--keystorePass设置安全证书的密码-->
<Connector protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false"
sslProtocol="TLS"
keystoreFile="D:\server\tomcat-7.0.55\casserver.keystore"
keystorePass="cas123"
port="443"  />
说明:
port⼀般为8443或443,最常⽤的是443端⼝(https默认端⼝),
keystoreFile为tomcat⽬录下的密钥⽂件;
keystorePass为私钥密码;truststoreFile为⽣成的信任⽂件,
如果此处不指定则默认为$JAVA_HOME/jre/lib/security/cacerts⽂件;其它属性默认即可。
5.⽣成客户端密钥库⽂件
单向认证的客户端配置只需⽣成客户端信任⽂件caserts即可。
⾸先将服务端⽣成的证书⽂件(之前⽣成的⽂件)复制到$JAVA_HOME/jre/lib/security下,
然后打开CMD窗⼝切换到$JAVA_HOME/jre/lib/security下并执⾏命令:
keytool -import -trustcacerts -alias casclient -storepass changeit - -keystore cacerts
命令执⾏成功后JDK⽬录/jre/lib/security下多出cacerts⽂件。
6.客户端应⽤配置
TOMCAT修改
tomcat\conf\ l 修改⽚断
<!--keystoreFile ⽣成的安全证书的位置-->
<!--keystorePass设置安全证书的密码-->
<Connector protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false"
sslProtocol="TLS"
keystoreFile="D:\server\tomcat-7.0.55\casserver.keystore"  keystorePass="cas123"
port="443"/>
7.常见配置错误
1)keytool ⽣成安全证书不能使⽤IP地址⼀律使⽤域名
2)务必确认客户端程序使⽤JDK 路径正确分清楚JDK、JRE