0

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

铬警告

当我通过 SSL 连接到我的服务时,我收到关于使用过时加密的警告,并发现这篇文章解释了我需要如何更改我的服务器以仅使用现代加密算法。

  1. 我是否可以使用 Karaf/Pax 设置所需的算法,例如设置下面的 SSL 配置?(首选)
  2. 或者我是否需要按照此处所述使用 Jetty 和此页面中的信息进行自定义信任管理以启用/禁用密码套件

这是我当前用来设置 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;

谢谢!

4

2 回答 2

1

在 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
于 2017-04-20T21:22:33.893 回答
0

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

于 2015-06-24T12:37:38.640 回答