1


使用 Wildfly 8 时,即使没有加载应用程序,Bouncycastle 提供程序似乎也会自动加载 - 通过在standalone.bat 中设置-Djava.security.provider选项发现这一点(在 server.log 文件中找到行Set BC provider property)。移除 BC 模块本身会阻止 Wildfly 启动(我记得 Weld 出错)。我也没有 BC 作为java.security.policy中列出的提供者。

Wildfly 9 似乎不会自动加载 BC,但如果我点击使用 Resteasy 的 REST 应用程序的任何 URL,则会设置 BC 提供程序属性(设置 BC 提供程序属性行)。我无法弄清楚是什么添加了 BC 提供程序,因为即使使用返回文本的简单端点也会发生这种情况。Resteasy确实使用BC,但这可能是原因吗?我已经排除了几乎所有对加载 BC 提供程序的应用程序中的代码的引用。如何排除 BouncyCastle(BC) 在 Wildfly 中的加载?

谢谢,

稻田

4

1 回答 1

1

Resteasy 模块似乎是添加 BouncyCastle 作为提供者的罪魁祸首(它需要 BouncyCastle 进行 SMIME 加密)。使用 Wildfly 9,此子系统似乎不会自动加载(仅当您的应用程序使用 Resteasy 时)并且可以使用以下内容排除jboss-deployment-structure.xml

    <exclude-subsystems>
        <subsystem name="jaxrs"/>
    </exclude-subsystems>

但是在 Wildfly 8 中,即使没有部署应用程序,也会添加 BC 提供程序(可以使用 中的-Djava.security.provider选项进行提供程序调试JAVA_OPTS)。因此,如果您同意更改standalone.xml 的选项,则删除webservices子系统并解决此问题。

谢谢,
稻田

于 2015-08-31T08:32:56.790 回答