我们的应用程序使用Bouncycastle。我现在正尝试在websphere liberty配置文件上部署我的应用程序并获得以下错误
[err] java.io.IOException: error constructing MAC: java.lang.SecurityException: JCE cannot authenticate the provider BC
[err] at org.bouncycastle.jce.provider.JDKPKCS12KeyStore.engineLoad(Unknown Source)
[err] at java.security.KeyStore.load(KeyStore.java:1214)
[err] at com.manh.jwt.JwtKeyManager.loadPrivateKeyByIssuer(JwtKeyManager.java:213)
因此,我没有在WEB-INF / lib目录中使用bouncycastle jar,而是创建了一个共享库,并将此库作为 privateLibraryRef 添加到我的Web应用程序中。我仍然得到同样的错误。
这是我的server.xml供您参考。
<server description="new server">
<!-- Enable features -->
<featureManager>
<feature>jsp-2.2</feature>
<feature>servlet-3.0</feature>
</featureManager>
<webContainer deferServletLoad="false" />
<httpEndpoint id="defaultHttpEndpoint"
host="localhost"
httpPort="20000"
httpsPort="9443" />
<library id="configResources">
<folder dir="${server.config.dir}/conf" />
</library>
<library id="bc">
<fileset dir="${server.config.dir}/bclib" includes="*.jar" />
</library>
<webApplication name="scope" location="scope.war" contextRoot="/">
<classloader privateLibraryRef="configResources, bc" />
</webApplication>
</server>
有没有其他设置我可以尝试让这个工作?
答案 0 :(得分:0)
让Bouncy Castle密码学与WAS Liberty协同工作的神奇之处在于它也适用于堆叠产品。