server证书安装配置指南(Tomcat 6)
一、 生成证书请求
1. 安装JDK
安装Tomcat须要JDK支持。
假设您还没有JDK的安装。则能够參考
Java SE Development Kit (JDK) 下载。
下载地址:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
2. 生成keystore文件
生成密钥库文件keystore.jks须要使用JDK的keytool工具。命令行进入JDK或JRE下的bin文件夹。执行keytool命令(演示样例中粗体部分为可自己定义部分,请依据实际配置情况作对应调整)。
keytool -genkey -alias server -keyalg RSA -keysize 2048 -keystore keystore.jks -storepasspassword -keypass
password
以上命令中。server为私钥别名(-alias)。生成的keystore.jks文件默认放在命令行当前路径下。
3. 生成证书请求文件(CSR)
keytool -certreq -alias server -sigalg SHA1withRSA -file certreq.csr -keystore C:\keystore.jks -keypasspassword -storepass
password
备份密钥库文件keystore.jks,并稍后提交证书请求文件certreq.csr,等待证书签发。密钥库文件keystore.jks丢失将导致证书不可用。
二、 导入server证书
1. 获取server证书中级CA证书
为保障server证书在client的兼容性。server证书须要安装两张中级CA证书(不同品牌证书,可能仅仅有一张中级证书)。
从邮件中获取中级CA证书:
将证书签发邮件中的从BEGIN到 END结束的两张中级CA证书内容(包含“-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”)分别粘贴到记事本等文本编辑器中,并改动文件扩展名,保存为intermediate1.cer和intermediate2.cer文件。
2. 获取server证书
将证书签发邮件中的从BEGIN到 END结束的服务器证书内容(包含“-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”)粘贴到记事本等文本编辑器中。并改动文件扩展名。保存为server.cer文件
3. 查看Keystore文件内容
进入安装JDK文件夹下的bin文件夹,执行keytool命令。
keytool -list -keystore keystore.jks -storepass
password
查询到PrivateKeyEntry属性的私钥别名(alias)为server。记住该别名,在稍后导入服务器证书时须要用到(演示样例中粗体部分为可自己定义部分,请依据实际配置情况作对应调整)。
注意,导入证书时,一定要使用生成证书请求文件时生成的keystore.jks文件。keystore.jks文件丢失或生成新的keystore.jks文件。都将无法正确导入您的server证书。
4. 导入证书(假设仅仅有一张中级证书。则仅仅须要导入一张中级证书)
导入第一张中级CA证书
keytool -import -alias intermediate1 -keystore keystore.jks -trustcacerts -storepasspassword -file intermediate1.cer
导入第二张中级CA证书
keytool -import -alias intermediate2 -keystore keystore.jks -trustcacerts -storepasspassword -file intermediate2.cer
导入server证书
keytool -import -alias server -keystore C:\keystore.jks -trustcacerts -storepasspassword -file server.cer
导入server证书时,server证书的别名必须和私钥别名一致。
请留意导入中级CA证书和导入server证书时的提示信息,假设您在导入server证书时使用的别名与私钥别名不一致,将提示“认证已加入至keystore中”而不是应有的“认证回复已安装在keystore中”。
证书导入完毕,执行keystool命令。再次查看keystore文件内容
keytool -list -keystore keystore.jks -storepass
password
三、 安装server证书
1. 单向认证的配置
复制已正确导入认证回复的keystore.jks文件到Tomcat安装文件夹下的conf文件夹。打开conf文件夹下的server.xml文件,找到并改动下面内容
<!--
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
SSL訪问port
-->
改动为
<Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
keystoreFile="conf\keystore.jks" keystorePass="password"
clientAuth="false" sslProtocol="TLS" />
默认的SSL訪问port号为443,假设使用其它port号,则您须要使用https://yourdomain:port的方式来訪问您的网站。
2. 双向认证的配置
配置双向认证时,您还须要指定client认证的信任库文件。client认证信任库文件(truststoreFile)能够和server证书密钥库文件(keystoreFile)为同一个文件,也能够进行独立配置。
演示样例中使用同样的密钥库文件。
您须要首先将client认证的根证书以及中级CA证书导入到client认证信任库。
<Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
keystoreFile="conf\keystore.jks" keystorePass="password"
truststoreFile="conf\keystore.jks" truststorePass="password"
clientAuth="true" sslProtocol="TLS" />
3. 訪问測试
重新启动Tomcat,訪问https://youdomain:port,測试证书的安装。
Linux 操作一样步骤一样。