【问题标题】:How to disable weak ciphers and client renegotiation in Play 2.5.x (Scala)如何在 Play 2.5.x (Scala) 中禁用弱密码和客户端重新协商
【发布时间】:2018-07-17 11:33:02
【问题描述】:

我正在使用 Play 2.5.x (Scala)。默认服务器是 Netty。我找不到禁用某些(弱)特定密码以及客户端重新协商的方法。 Play 文档是指 JSSE 设置: https://www.playframework.com/documentation/2.3.x/ConfiguringHttps

如何在配置文件中使用这些 JSSE 设置?还是有其他方法可以实现这一点?

【问题讨论】:

    标签: java scala https playframework


    【解决方案1】:

    documentation 中所述,创建一个如下所示的属性文件(我们称之为jvm.security.properties):

    jdk.tls.disabledAlgorithms=EC keySize < 160, RSA keySize < 2048, DSA keySize < 2048
    jdk.tls.rejectClientInitiatedRenegotiation=true
    jdk.certpath.disabledAlgorithms=MD2, MD4, MD5, EC keySize < 160, RSA keySize < 2048, DSA keySize < 2048
    

    然后使用该属性文件启动 JVM:

    java -Djava.security.properties=jvm.security.properties
    

    【讨论】:

    • 谢谢。我错过了您指出的文档部分,认为它适用于 WS 客户端。我尝试使用命令从“target/universal/play-scala-82-SNAPSHOT/”内部运行它:>bin/play-scala 注意:play-scala 是运行“sbt dist”时生成的可执行脚本的名称.但它不起作用 - 它不启用这些安全属性。我将文件 bin/play-scala 编辑为: echo "$JAVA_HOME/bin/java -Djava.security.properties=/play-scala-app/target/universal/play-scala-82-SNAPSHOT/ conf/disabledAlgorithms.properties"
    • 其次,在生产中我使用“sbt docker:publishLocal”来构建我的 webapp。我该如何提供此设置?
    • 我也尝试了这些但没有用:sudo bin/play-scala -Djava.security.properties=conf/disabledAlgorithms.propertiessudo bin/play-scala -Djava.security.properties=disabledAlgorithms.properties
    • 另一方面,当我传递如下属性时,它适用:sudo bin/play-scala -Djdk.tls.rejectClientInitiatedRenegotiation=true -Djdk.tls.ephemeralDHKeySize=2048 -Djdk.tls.disabledAlgorithms="EC keySize &lt; 160, RSA keySize &lt; 2048, DSA keySize &lt; 2048"
    • 有什么建议吗?
    猜你喜欢
    • 2021-05-03
    • 2019-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多