手机版
你好,游客 登录 注册
背景:
阅读新闻

CentOS下配置Tomcat7的APR高级模式和SSL证书

[日期:2012-06-07] 来源:Linux社区  作者:laigood12345 [字体: ]

我这里用的是startssl提供的免费证书,startssl证书的申请可以参考下面链接:http://www.linuxidc.com/Linux/2012-06/62253p2.htm
申请完后你会有一下三个文件,ssl.crt(公钥),ssl.key(密钥),ssl.p12(PKCS12格式的证书)

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

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

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

运行下面命令生成keystore

  1. $ keytool -importkeystore -srckeystore keystore.p12 -srcstoretype PKCS12 -destkeystore keystore -srcalias "<a href="mailto:xxx@163.com">xxx@163.com</a> 的 startcom ltd. id" -destkeypass changeit    

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

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

  1. $ wget <a href="http://cert.startssl.com/certs/ca.pem">http://cert.startssl.com/certs/ca.pem</a>  

从StartSSL下载StartSSL Class1 Sub CA证书:

  1. $ wget <a href="http://cert.startssl.com/certs/sub.class1.server.ca.pem">http://cert.startssl.com/certs/sub.class1.server.ca.pem</a>  

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

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

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

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

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

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

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

启动tomcat,完成。

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款