우리 애플리케이션은 Bouncycastle을 사용합니다. 지금 스피어 자유 프로필에 내 응용 프로그램을 배포하려고 시도하고 아래의 오류Websphere Liberty 프로파일에서 bouncycastle 사용
[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 항아리 데, 내가 공유 lib 디렉토리를 생성하고,이 라이브러리를 추가 내 웹 응용 프로그램에 privateLibraryRef. 나는 여전히 같은 오류가 발생합니다.
여기 내 참조 용으로 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>
내가이 작업을 수행 할 수있는 다른 설정이 있습니까?
중복 가능성 [bouncycastle + 보스의 AS7 : JCE는 BC 제공자를 인증 할 수있다 (http://stackoverflow.com/questions/9534512/bouncycastle-jboss-as7-jce-cannot-authenticate-the-provider- bc) –
나는 Bouncy Castle에 대해 아무것도 모른다. 그러나 주위를 둘러 보면서 나는이 해결책을 사용할 것이다 : http://stackoverflow.com/a/17400821/142446 JDK 이미지를 수정하는 대신에 -Djava.ext를 설정할 수있다. 다른 디렉토리를 가리 키도록 jvm.options의 .dirs. –
감사 정보 @bkail. java.security 파일을 수정하면 작동합니다. 배포시 Java 설치 디렉토리에 액세스 할 수 없으므로이를 수행 할 수 없습니다. http://www.bouncycastle.org/wiki/display/JA1/Provider+Installation에 문서화 된대로 제공자를 동적으로 추가하려고했습니다. 이것은 Websphere Liberty 프로파일에서 작동하지 않습니다. – Palanivelrajan