使用Pax(包括Jetty)在Apache Karaf中启用/禁用允许的密码套件

时间:2015-06-23 22:48:06

标签: java ssl jetty apache-karaf pax-web

我使用Apache Karaf来托管我的网络服务。我在启动后通过Karaf客户端启用了SSL连接以及下面显示的命令,因为我有多个服务器运行相同的代码但具有不同的证书和配置。

Chrome Warning

当我通过SSL连接到我的服务时,我收到有关使用过时加密的警告,并发现this post解释了我需要如何将服务器更改为仅使用现代加密算法。

  1. 我是否可以使用Karaf / Pax设置所需的算法,例如在下面设置SSL配置? (优选的)
  2. 或者我是否需要按照here所述的自定义信任管理和Jetty以及this pageenable/disable cipher suites的信息?
  3. 以下是我目前用于设置HTTPS端口的示例代码。

    config:edit org.ops4j.pax.web;
    config:property-set org.osgi.service.http.enabled false; 
    config:property-set org.osgi.service.http.secure.enabled true;
    config:property-set org.osgi.service.http.port.secure 9443; 
    config:property-set org.ops4j.pax.web.ssl.keystore.type JKS; 
    config:property-set org.ops4j.pax.web.ssl.keystore /etc/pki/tls/ks.jks;
    config:property-set org.ops4j.pax.web.ssl.password ************;
    config:property-set org.ops4j.pax.web.ssl.keypassword *********;
    config:property-set org.ops4j.pax.web.ssl.clientauthwanted false;
    config:property-set org.ops4j.pax.web.ssl.clientauthneeded false;
    config:update;
    

    谢谢!

2 个答案:

答案 0 :(得分:0)

使用正确的配置ssl连接器的方法,您最终将获得Jetty提供的默认SSL连接器。现在你想切换到TLS,这很棒。您不需要自定义信任管理,现在无法使用配置参数配置密码套件。请在ops4j上打开一个新功能请求。

答案 1 :(得分:0)

在org.ops4j.pax.web.cfg中,您可以设置以下设置,例如:

org.ops4j.pax.web.ssl.ciphersuites.included=TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA
org.ops4j.pax.web.ssl.ciphersuites.excluded=TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA,TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA

org.ops4j.pax.web.ssl.protocols.included=TLSv1.2

您还可以使用OP在其答案中使用的技术:

config:edit org.ops4j.pax.web;
config:property-set org.ops4j.pax.web.ssl.protocols.included TLSv1.2