我使用Apache Karaf来托管我的网络服务。我在启动后通过Karaf客户端启用了SSL连接以及下面显示的命令,因为我有多个服务器运行相同的代码但具有不同的证书和配置。
当我通过SSL连接到我的服务时,我收到有关使用过时加密的警告,并发现this post解释了我需要如何将服务器更改为仅使用现代加密算法。
以下是我目前用于设置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;
谢谢!
答案 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