jetty tomcat 配置ssl

1.生成密钥:
a.)首先生成一个pica.keystore(keystore密钥库)
备注:生产密钥库的路径最好在server服务器下。(如:jetty路径为${jetty.home}/etc/)
Java代码   收藏代码
  1. keytool -genkey -alias pica -keyalg RSA -dname "cn=localhost,ou=pica,o=wingware,l=china,st=beijing,c=cn" -keypass 123456 -storepass 123456 -keystore pica.keystore -validity 3600  


此时会得到pica.keystore文件,[-keypass]是密钥的密码,[-storepass]是密钥库的密码,cn是域名,必须与cas服务器的域名相同(本地测试用localhost).
b.)从密钥库(pica.keystore)中导出证书pica.cer
Java代码   收藏代码
  1. keytool -export -trustcacerts -alias pica -file pica.cer -keystore  pica.keystore -storepass 123456  

c.)将证书(pica.cer)导入JDK的cacerts
Java代码   收藏代码
  1. keytool -import -trustcacerts -alias pica -file pica.cer -keystore  “%JAVA_HOME%/jre/lib/security/cacerts” -storepass changeit  

java中cacerts证书库默认密码为changeit
可以写一个批处理文件来执行上述命令。
2.配置jetty的ssl
jetty的配置修改/etc/ jetty-ssl.xml文件。
Java代码   收藏代码
  1. <Configure id="Server" class="org.eclipse.jetty.server.Server">  
  2.     <!-- if NIO is not available, use org.eclipse.jetty.server.ssl.SslSocketConnector -->  
  3.     <Call name="addConnector">  
  4.         <Arg>  
  5.             <New class="org.eclipse.jetty.server.ssl.SslSelectChannelConnector">  
  6.                 <Set name="Port">8443</Set>  
  7.                 <Set name="maxIdleTime">30000</Set>  
  8.                 <Set name="Acceptors">2</Set>  
  9.                 <Set name="AcceptQueueSize">100</Set>  
  10.                 <Set name="Keystore"><SystemProperty name="jetty.home" default="." />/etc/pica.keystore</Set>  
  11.                 <Set name="Password">123456</Set>  
  12.                 <Set name="KeyPassword">123456</Set>  
  13.                 <Set name="truststore"><SystemProperty name="jetty.home" default="." />/etc/pica.keystore</Set>  
  14.                 <Set name="trustPassword">123456</Set>  
  15.             </New>  
  16.         </Arg>  
  17.     </Call>  
  18. </Configure>  

备注:
<Set name="truststore"><SystemProperty name="jetty.home" default="." />/etc/keystore</Set>
<Set name="trustPassword">123456 </Set>
可以不设置,默认会取${JAVA_HOME}/lib/secutity/cacerts这个文件夹

3.启动jetty
java -jar start.jar etc/jetty.xml etc/jetty-ssl.xml
4.配置tomcat的ssl
连接器添加到server.xml文件中。

  
Java代码   收藏代码
  1. <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"  
  2.               maxThreads="150" scheme="https" secure="true"  
  3.               clientAuth="false" sslProtocol="TLS"   
  4.               keystoreFile="D:\Tomcat 6.0\bin\server.keystore"  
  5.               keystorePass="123456" />  

备注:keystoreFile为密钥库路径,keystorePass为密钥库的密码.
如果你希望客户端没有提供证书的时候SSL链接也能成功,也可以把clientAuth设置成want。
启动tomcat,访问 https://localhost:8443/,弹出一个安全警告的页面就OK了。



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值