2017-12-22 24 views
1

この問題を解決するには、いくつかの提案が必要です。org.bouncycastle.operator.OperatorCreationException:署名者を作成できません:署名用に構成されたクラス(プロバイダ:BC)が見つかりません

ここで問題となるのは、展開のたびにパートナーユーザーを作成することはできません。また、Tomcatサービスを再開すると、そのユーザーは完全に機能します。

配備後にパートナーユーザーを作成しようとすると、ログに次のエラーが表示されます。

20-Dec-2017 13:27:35.388 | ERROR | [ http-apr-28080-exec-78] | SecurityAdminServiceManagerImpl:1986 - Error in generateCertificateDetails 
org.bouncycastle.operator.OperatorCreationException: cannot create signer: class configured for Signature (provider: BC) cannot be found. 
    at org.bouncycastle.operator.jcajce.JcaContentSignerBuilder.build(Unknown Source) ~[bcpkix-jdk15on-156.jar:1.56.0.0] 
    at com.northgateis.gem.security.cipher.CertificateHelper.signCertificate(CertificateHelper.java:298) ~[classes/:26696] 
    at com.northgateis.gem.security.cipher.CertificateHelper.createClientCertificate(CertificateHelper.java:256) ~[classes/:26696] 
    at com.northgateis.gem.security.service.impl.SecurityAdminServiceManagerImpl.generateCertificateDetails(SecurityAdminServiceManagerImpl.java:1979) [classes/:26696] 

20-Dec-2017 13:56:44.158 INFO [http-apr-28080-exec-69] org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading Illegal access: this web application instance has been stopped already. Could not load [org.bouncycastle.jcajce.provider.asymmetric.rsa.DigestSignatureSpi$SHA256]. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access. 
java.lang.IllegalStateException: Illegal access: this web application instance has been stopped already. Could not load [org.bouncycastle.jcajce.provider.asymmetric.rsa.DigestSignatureSpi$SHA256]. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access. 
    at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading(WebappClassLoaderBase.java:1325) 
    at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForClassLoading(WebappClassLoaderBase.java:1313) 
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1178) 
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1139) 
+0

static { \t \t Security.addProvider(new BouncyCastleProvider()); \t} \t プライベート静的のX509Certificate signCertificate( \t \t \t X509v3CertificateBuilder certificateBuilder、 \t \t \tのPrivateKey signedWithPrivateKey)はOperatorCreationException、 \t \t \t CertificateException { \t \t ContentSigner署名者=新しいJcaContentSignerBuilder(SIGNATURE_ALGORITHM) \t \t \t \tをスロー.setProvide r(PROVIDER_NAME)。ビルド(signedWithPrivateKey); \t \tのX509Certificate CERT =新しいJcaX509CertificateConverter()setProvider( \t \t \t \t PROVIDER_NAME).getCertificate(certificateBuilder.build(署名者))。 \t \t return cert; \t} – Sivaji

答えて

0

開発中に頻繁に行うように、アプリケーションを再デプロイすると、動作しなくなります。 JNIはこの問題を抱えている別のものです。

私は、手動でコンテナーのlibディレクトリにコピーするのではなく、アプリでjarファイルを配送する方が好きです。

あなたは

がプロバイダとしてJRE/JDK $ JAVA_HOME/jre/lib/security/java.securityファイルにはBouncyCastleを追加するには、libフォルダにjavapns.jarとbcprove-jdk15on-1.47.jarファイルを追加することができますが(あなたがJREに追加していることを確認してください複数のJRE/JDKがインストールされている場合など、実行時に使用する)

+0

しかし...なぜそれが動作を停止しますか?私たちの場合、私たちはアプリでBouncyCastleの瓶を出荷し、それはまだ配備時に問題があります... –

関連する問題