Jetty下SSL配置

3 篇文章 0 订阅
环境:
・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路径及其密码即可。
<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">

<!-- =============================================================== -->
<!-- Configure SSL for the Jetty Server                              -->
<!-- this configuration file should be used in combination with      -->
<!-- other configuration files.  e.g.                                -->
<!--    java -jar start.jar etc/jetty-ssl.xml                        -->
<!--                                                                 -->
<!--  alternately, add to the start.ini for easier usage             -->
<!-- =============================================================== -->
<Configure id="Server" class="org.eclipse.jetty.server.Server">

  <!-- if NIO is not available, use org.eclipse.jetty.server.ssl.SslSocketConnector -->
  
  <New id="sslContextFactory" class="org.eclipse.jetty.http.ssl.SslContextFactory">
    <Set name="KeyStore">D:/JavaStudy/keystore/dotuian.keystore</Set>
    <Set name="KeyStorePassword">rootadmin</Set>
    <Set name="KeyManagerPassword">test1234</Set>
    <Set name="TrustStore">D:/JavaStudy/keystore/dotuian.keystore</Set>
    <Set name="TrustStorePassword">rootadmin</Set>
  </New>

  <Call name="addConnector">
    <Arg>
      <New class="org.eclipse.jetty.server.ssl.SslSelectChannelConnector">
        <Arg><Ref id="sslContextFactory" /></Arg>
        <Set name="Port">8443</Set>
        <Set name="maxIdleTime">30000</Set>
        <Set name="Acceptors">2</Set>
        <Set name="AcceptQueueSize">100</Set>
      </New>
    </Arg>
  </Call>
</Configure>

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值