如何防止Bouncycastle被Wildfly加载?

时间:2015-08-29 05:50:26

标签: java-8 bouncycastle wildfly-8 java-security


   使用Wildfly 8时,即使没有加载任何应用程序,Bouncycastle提供程序似乎也会自动加载 - 通过在standalone.bat中设置 -Djava.security.provider 选项来找到它(找到行在server.log文件中设置BC提供程序属性。删除BC模块本身可以防止Wildfly启动(我记得Weld的错误)。我也没有BC作为 java.security.policy 中列出的提供商。

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

谢谢,

稻谷

1 个答案:

答案 0 :(得分:0)

Resteasy模块似乎是将BouncyCastle添加为提供者(needs BouncyCastle for SMIME encryption)背后的罪魁祸首。使用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子系统并解决此问题。

谢谢,
稻谷