Jetty下SSL配置

来源:互联网 发布:手机数据同步哪里设置 编辑:程序博客网 时间:2024/06/07 17:28
环境:
・jdk1.7.0_09
・Jetty8.1
・eclipse

1,用JDK自带的keytool生成证书
cd D:\JavaStudy\keystore
keytool -genkey -alias dotuian -keyalg RSA -keystore dotuian.keystore
生成了一个表明为dotuian的证书,实际的文件名为dotuian.keystore
备注:
 keystore密码为:  rootadmin
 <dotuian> 的主密码 : test1234

2,导出证书
cd D:\JavaStudy\keystore
keytool -export -file dotuian.crt -alias dotuian -keystore dotuian.keystore
提示"输入keystore密码",此时的密码为上面的keystore密码(rootadmin)

3、把证书导入到客户端JDK中
cd D:\JavaStudy\keystore
keytool -import -keystore "C:\Program Files\Java\jdk1.7.0_09\jre\lib\security\cacerts" -file dotuian.crt -alias dotuian
这里也提示"输入keystore密码",但是这里的密码就不是上述的(rootadmin)密码了,而是默认的changeit 
不然的话,会提示 "java.io.IOException: Keystore was tampered with, or password was incorrect"异常。
这里应该导入的文件为"C:\Program Files\Java\jdk1.7.0_09\jre\lib\security\cacerts",而不是 "C:\Program Files\Java\jre7\lib\security\cacerts"。
4.配置Jetty
首先将服务器中start.ini中etc/jetty-ssl.xml前面的注释去掉,然后复制jetty目录下的etc/jetty-ssl.xml到自己的项目服务器/etc目录下
修改KeyStore路径及其密码即可。
[html] view plain copy
  1. <?xml version="1.0"?>  
  2. <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">  
  3.   
  4. <!-- =============================================================== -->  
  5. <!-- Configure SSL for the Jetty Server                              -->  
  6. <!-- this configuration file should be used in combination with      -->  
  7. <!-- other configuration files.  e.g.                                -->  
  8. <!--    java -jar start.jar etc/jetty-ssl.xml                        -->  
  9. <!--                                                                 -->  
  10. <!--  alternately, add to the start.ini for easier usage             -->  
  11. <!-- =============================================================== -->  
  12. <Configure id="Server" class="org.eclipse.jetty.server.Server">  
  13.   
  14.   <!-- if NIO is not available, use org.eclipse.jetty.server.ssl.SslSocketConnector -->  
  15.     
  16.   <New id="sslContextFactory" class="org.eclipse.jetty.http.ssl.SslContextFactory">  
  17.     <Set name="KeyStore">D:/JavaStudy/keystore/dotuian.keystore</Set>  
  18.     <Set name="KeyStorePassword">rootadmin</Set>  
  19.     <Set name="KeyManagerPassword">test1234</Set>  
  20.     <Set name="TrustStore">D:/JavaStudy/keystore/dotuian.keystore</Set>  
  21.     <Set name="TrustStorePassword">rootadmin</Set>  
  22.   </New>  
  23.   
  24.   <Call name="addConnector">  
  25.     <Arg>  
  26.       <New class="org.eclipse.jetty.server.ssl.SslSelectChannelConnector">  
  27.         <Arg><Ref id="sslContextFactory" /></Arg>  
  28.         <Set name="Port">8443</Set>  
  29.         <Set name="maxIdleTime">30000</Set>  
  30.         <Set name="Acceptors">2</Set>  
  31.         <Set name="AcceptQueueSize">100</Set>  
  32.       </New>  
  33.     </Arg>  
  34.   </Call>  
  35. </Configure>  
原创粉丝点击