centos下配置tomcat7的apr高级模式和ssl证书

我这里用的是startssl提供的免费证书,startssl证书的申请可以参考下面链接:http://www.setsea.net/wordpress/post/2011/04/21/881.html
申请完后你会有一下三个文件,ssl.crt(公钥),ssl.key(密钥),ssl.p12(PKCS12格式的证书)

运行以下命令查看证书信息:

$ keytool -list -rfc -keystore ssl.p12 -storetype pkcs12

查看证书信息,主要是查看alias属性,下面生成keystore要用到,一般是这样一串字符串"[email protected] 的 startcom ltd. id",[email protected]是你注册startssl时的邮箱。

运行下面命令生成keystore

$ keytool -importkeystore -srckeystore keystore.p12 -srcstoretype PKCS12 -destkeystore keystore -srcalias "[email protected] 的 startcom ltd. id" -destkeypass changeit  

srcalias是上面查到的别名。destkeypass密码默认是changeit

接下来合并证书(主要是因为火狐需要我们提供证书颁发者的根证书)
从StartSSL下载StartSSL CA证书:

$ wget http://cert.startssl.com/certs/ca.pem

从StartSSL下载StartSSL Class1 Sub CA证书:

$ wget http://cert.startssl.com/certs/sub.class1.server.ca.pem

合并ssl、sub.class1.server.ca.pem、ca.pem

$ cat sub.class1.server.ca.pem >> ssl.crt
$ cat ca.pem >> ssl.crt

设置tomcat启动时不输入私钥密码

$ cp ssl.key ssl.key.tmp 
$ openssl rsa -in ssl.key.tmp -out ssl.key 

把上面生成的keystore、ssl.crt、ssl.key放到tomcat的conf目录下,修改conf/server.xml配置。
添加如下配置:

<Connector port="9443" protocol="HTTP/1.1" SSLEnabled="true"
	maxThreads="150" scheme="https" secure="true"
	keystoreFile="${catalina.base}/conf/keystore" keystorePass="changeit " keystoreType="PKCS12" 
	SSLCertificateFile="${catalina.base}/conf/ssl.crt"
               SSLCertificateKeyFile="${catalina.base}/conf/ssl.key"
               SSLCACertificateFile="${catalina.base}/conf/ssl.crt"
	clientAuth="false" sslProtocol="TLS" />

其中主要是这三个参数
SSLCertificateFile sub class1证书
SSLCertificateKeyFile sub class1证书密码
SSLCACertificateFile 根证书(不设置这个参数的话火狐会不信任,因为它需要把startssl的根证书附上,因为是它颁发给你的)。

启动tomcat,完成。

猜你喜欢

转载自blog.csdn.net/laigood12345/article/details/7639546