1、证书查看与删除
查看是否已创建过同名的证书
keytool -list -v -alias ssotest -keystore "%JAVA_HOME%/JRE/LIB/SECURITY/CACERTS" -storepass changeitkeytool -delete -aliasssotest -keystore "%JAVA_HOME%/JRE/LIB/SECURITY/CACERTS" -storepass changeit
以上的ssotest为证书名
2、生成服务端密钥文件
打开cmd窗口,输入以下命令:
keytool -genkey -aliasssotest
-keypass 123456 -keyalg RSA -keystore
test.keystore -validity 365
说明:
-genkey 在用户主目录中创建一个默认文件".keystore",还会产生一个mykey的别名,mykey中包含用户的公钥、私钥和证书
-alias 产生别名
-keypass 指定私钥密码
-keyalg 指定密钥的算法
-keystore 指定密钥库的名称(产生的各类信息将不在.keystore文件中
-validity
指定创建的证书有效期多少天
另外提示的输入keystore密码应与-keypass指定的相同;您的名字与姓氏是CAS服务器使用的域名(不能是IP,也不能是localhost),其它项随意填。
3、生成服务端证书
根据以上生成的服务端的密钥文件可以导出服务端证书,执行以下命令:
keytool
-export -alias
ssotest -storepass 123456 -file test.cer -keystore
test.keystore
说明:
-export
将别名指定的证书导出到文件
-alias 指定别名为ssotest
-storepass 指定私钥为123456
-file 指定导出证书的文件名为test.cer
-keystore 指定之前生成的密钥文件的文件名test.keystore
4、导入证书
执行以下命令:
keytool
-import -keystore "%JAVA_HOME%\jre\lib\security\cacerts" -file
test.cer -alias
ssotest
之后会要求输入密钥库口令,默认为:changeit
5、配置tomcat
打开tomcat下的conf/server.xml,找到以下片段:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />替换成:
<Connector SSLEnabled="true" acceptCount="100" clientAuth="false" disableUploadTimeout="true" enableLookups="false" maxThreads="25" port="8080" keystoreFile="keystore证书路径" keystorePass="123456" protocol="org.apache.coyote.http11.Http11NioProtocol" scheme="https" secure="true" sslProtocol="TLS" />
原文地址:http://blog.csdn.net/rongku/article/details/38071821