1、证书查看与删除
查看是否已创建过同名的证书
keytool -list -v -alias ssotest -keystore "%JAVA_HOME%/JRE/LIB/SECURITY/CACERTS" -storepass changeit删除已创建的证书
keytool -delete -alias ssotest -keystore "%JAVA_HOME%/JRE/LIB/SECURITY/CACERTS" -storepass changeit
以上的ssotest为证书名
2、生成服务端密钥文件
打开cmd窗体,输入下面命令:
keytool -genkey -alias ssotest
-keypass 123456 -keyalg RSA -keystore
test.keystore -validity 365
说明:
-genkey 在用户主文件夹中创建一个默认文件".keystore",还会产生一个mykey的别名。mykey中包括用户的公钥、私钥和证书
-alias 产生别名
-keypass 指定私钥password
-keyalg 指定密钥的算法
-keystore 指定密钥库的名称(产生的各类信息将不在.keystore文件里
-validity
指定创建的证书有效期多少天
另外提示的输入keystorepassword应与-keypass指定的同样;您的名字与姓氏是CASserver使用的域名(不能是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%jrelibsecuritycacerts" -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" />