欢迎您,请 登录   |   马上注册
关于我们021-52582199 在线咨询 >
台湾  |  香港  |  老版本网站入口GeoTrust官方授权中国区合作伙伴
服务与支持 > 如何安装SSL证书 > Jetty SSL证书安装

Jetty SSL证书安装

制作JKS文件

JKS(Java Keystore)文件是JAVA软件用来管理和使用SSL证书的文件格式,我们首先需要制作完成JKS文件。您在递交订单时,会采用以下两种方式,请按照不同的说明制作JKS文件。

情况一:系统自动生成CSR(证书请求文件)

如果您在递交订单时,选择“系统自动生成CSR(证书请求文件)”:在您递交订单时,会要求您下载并保存server.key文件;在订单完成后,请在“控制台→订单查询→订单详细页”下载“CRT文件”,保存为server.crt。请到 JKS在线合成工具 ,使用server.key和server.crt文件合成一个新的JKS文件。在这里需要设置2个参数:
  • 别名:导入到JKS中的密钥对的索引名称(que)。
  • 密码:访问JKS的密码,需要在Jetty配置文件中写入。

情况二:手工上传CSR(证书请求文件)

如果您在递交订单时,选择“我手工上传CSR(证书请求文件)”:您的CSR文件应该是根据Jetty(或Tomcat)文档,使用KeyTool.exe制作的。在订单完成后,请在“控制台→订单查询→订单详细页”下载“P7B文件”,保存为server.p7b,运行命令,将P7B文件导入原来的jks文件:
keytool -import -keystore server.jks -alias ssl -file server.p7b

 Jetty SSL配置

1. 请将server.jks文件上传到服务器,打开配置文件etc/jetty-ssl.xml,修改配置如下 (区分字母大小写):
<Configure id="sslContextFactory" class="org.eclipse.jetty.util.ssl.SslContextFactory">
  <Set name="KeyStorePath"><Property name="jetty.base" default="." />/<Property name="jetty.keystore" default="etc/cert/server.jks"/></Set>
  <Set name="KeyStorePassword"><Property name="jetty.keystore.password" default="JKS密码"/></Set>
  <Set name="KeyManagerPassword"><Property name="jetty.keymanager.password" default="JKS密码"/></Set>    
  <Set name="TrustStorePath"><Property name="jetty.base" default="." />/<Property name="jetty.truststore" default="etc/cert/server.jks"/></Set>
  <Set name="TrustStorePassword"><Property name="jetty.truststore.password" default="JKS密码"/></Set>   
  <Set name="EndpointIdentificationAlgorithm"></Set>
  <Set name="NeedClientAuth"><Property name="jetty.ssl.needClientAuth" default="false"/></Set>
  <Set name="WantClientAuth"><Property name="jetty.ssl.wantClientAuth" default="false"/></Set>
  <Set name="ExcludeCipherSuites">
    <Array type="String">
      <Item>SSL_RSA_WITH_DES_CBC_SHA</Item>
      <Item>SSL_DHE_RSA_WITH_DES_CBC_SHA</Item>
      <Item>SSL_DHE_DSS_WITH_DES_CBC_SHA</Item>
      <Item>SSL_RSA_EXPORT_WITH_RC4_40_MD5</Item>
      <Item>SSL_RSA_EXPORT_WITH_DES40_CBC_SHA</Item>
      <Item>SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA</Item>
      <Item>SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA</Item>
    </Array>
  </Set>

  <!-- =========================================================== -->
  <!-- Create a TLS specific HttpConfiguration based on the        -->
  <!-- common HttpConfiguration defined in jetty.xml               -->
  <!-- Add a SecureRequestCustomizer to extract certificate and    -->
  <!-- session information                                         -->
  <!-- =========================================================== -->
  <New id="sslHttpConfig" class="org.eclipse.jetty.server.HttpConfiguration">
    <Arg><Ref refid="httpConfig"/></Arg>
    <Call name="addCustomizer">
      <Arg><New class="org.eclipse.jetty.server.SecureRequestCustomizer"/></Arg>
    </Call>
  </New>
</Configure>
2. 编辑jetty服务器目录中的etc/jetty-https.xml,配置https所使用的443端口,修改配置如下 (区分字母大小写):
<Configure id="Server" class="org.eclipse.jetty.server.Server">

  <!-- =========================================================== -->
  <!-- Add a HTTPS Connector.                                      -->
  <!-- Configure an o.e.j.server.ServerConnector with connection   -->
  <!-- factories for TLS (aka SSL) and HTTP to provide HTTPS.      -->
  <!-- All accepted TLS connections are wired to a HTTP connection.-->
  <!--                                                             -->
  <!-- Consult the javadoc of o.e.j.server.ServerConnector,        -->
  <!-- o.e.j.server.SslConnectionFactory and                       -->
  <!-- o.e.j.server.HttpConnectionFactory for all configuration    -->
  <!-- that may be set here.                                       -->
  <!-- =========================================================== -->
  <Call id="httpsConnector" name="addConnector">
    <Arg>
      <New class="org.eclipse.jetty.server.ServerConnector">
        <Arg name="server"><Ref refid="Server" /></Arg>
        <Arg name="acceptors" type="int"><Property name="ssl.acceptors" default="-1"/></Arg>
        <Arg name="selectors" type="int"><Property name="ssl.selectors" default="-1"/></Arg>
        <Arg name="factories">
          <Array type="org.eclipse.jetty.server.ConnectionFactory">
            <Item>
              <New class="org.eclipse.jetty.server.SslConnectionFactory">
                <Arg name="next">http/1.1</Arg>
                <Arg name="sslContextFactory"><Ref refid="sslContextFactory"/></Arg>
              </New>
            </Item>
            <Item>
              <New class="org.eclipse.jetty.server.HttpConnectionFactory">
                <Arg name="config"><Ref refid="sslHttpConfig"/></Arg>
              </New>
            </Item>
          </Array>
        </Arg>
        <Set name="host"><Property name="jetty.host" /></Set>
        <Set name="port"><Property name="https.port" default="443" /></Set>
        <Set name="idleTimeout"><Property name="https.timeout" default="30000"/></Set>
        <Set name="soLingerTime"><Property name="https.soLingerTime" default="-1"/></Set>
        <Set name="acceptorPriorityDelta"><Property name="ssl.acceptorPriorityDelta" default="0"/></Set>
        <Set name="selectorPriorityDelta"><Property name="ssl.selectorPriorityDelta" default="0"/></Set>
        <Set name="acceptQueueSize"><Property name="https.acceptQueueSize" default="0"/></Set>
      </New>
    </Arg>
  </Call>
</Configure>
3. 编辑jetty服务器目录中的start.ini文件,在最后加上:
jetty.dump.stop=
etc/jetty-ssl.xml
etc/jetty-https.xml
4. 重启Jetty。


官方文档: https://www.eclipse.org/jetty/documentation/current/index.html



最新修订日期:2019年05月18日
为什么选择我们
  • 官方授权
    中国区合作伙伴
  • 证书远程协助
    安装服务
  • 无法安装
    30天退款保障
  • 免费提供
    28天试用证书