[英]BouncyCastle in SpringBoot
當我將 Springboot 應用程序作為 jar 文件運行時,它給了我以下錯誤。 當我使用 IDE 運行我的項目時,問題不會發生。 你能幫我解決一下嗎? 謝謝你..
2022-01-14 23:34:58.885 INFO 4247 --- [nio-8080-exec-2] c.o.b.h.s.internal.BouncyCastleHelper : Instantiated provider: org.bouncycastle.jce.provider.BouncyCastleProvider
com.oracle.bmc.http.signing.internal.PEMFileRSAPrivateKeySupplier$PEMFileRSAPrivateKeySupplierException: org.bouncycastle.openssl.PEMException: exception processing key pair: JCE cannot authenticate the provider BC
at com.oracle.bmc.http.signing.internal.PEMFileRSAPrivateKeySupplier.<init>(PEMFileRSAPrivateKeySupplier.java:118)
at com.oracle.bmc.http.signing.internal.DefaultRequestSignerFactory.createKeySupplier(DefaultRequestSignerFactory.java:111)
at com.oracle.bmc.http.signing.internal.DefaultRequestSignerFactory.createRequestSigner(DefaultRequestSignerFactory.java:54)
at com.oracle.bmc.objectstorage.ObjectStorageClient.<init>(ObjectStorageClient.java:284)
at com.oracle.bmc.objectstorage.ObjectStorageClient.<init>(ObjectStorageClient.java:218)
at com.oracle.bmc.objectstorage.ObjectStorageClient.<init>(ObjectStorageClient.java:181)
at com.oracle.bmc.objectstorage.ObjectStorageClient.<init>(ObjectStorageClient.java:146)
at com.oracle.bmc.objectstorage.ObjectStorageClient.<init>(ObjectStorageClient.java:118)
at com.oracle.bmc.objectstorage.ObjectStorageClient.<init>(ObjectStorageClient.java:93)
at com.oracle.bmc.objectstorage.ObjectStorageClient.<init>(ObjectStorageClient.java:70)
at com.oracle.bmc.objectstorage.ObjectStorageClient.<init>(ObjectStorageClient.java:56)
at com.oracle.bmc.objectstorage.ObjectStorageClient.<init>(ObjectStorageClient.java:45)
......
Caused by: org.bouncycastle.openssl.PEMException: exception processing key pair: JCE cannot authenticate the provider BC
at org.bouncycastle.openssl.PEMEncryptedKeyPair.decryptKeyPair(Unknown Source)
at com.oracle.bmc.http.signing.internal.PEMFileRSAPrivateKeySupplier.<init>(PEMFileRSAPrivateKeySupplier.java:94)
... 112 more
Caused by: java.lang.SecurityException: JCE cannot authenticate the provider BC
at java.base/javax.crypto.JceSecurity.getInstance(JceSecurity.java:143)
at java.base/javax.crypto.SecretKeyFactory.getInstance(SecretKeyFactory.java:248)
at org.bouncycastle.jcajce.util.ProviderJcaJceHelper.createSecretKeyFactory(Unknown Source)
at org.bouncycastle.openssl.jcajce.PEMUtilities.getKey(Unknown Source)
at org.bouncycastle.openssl.jcajce.PEMUtilities.getKey(Unknown Source)
at org.bouncycastle.openssl.jcajce.PEMUtilities.crypt(Unknown Source)
at org.bouncycastle.openssl.jcajce.JcePEMDecryptorProviderBuilder$1$1.decrypt(Unknown Source)
... 114 more
Caused by: java.lang.IllegalStateException: zip file closed
at java.base/java.util.zip.ZipFile.ensureOpen(ZipFile.java:829)
at java.base/java.util.zip.ZipFile.getManifestName(ZipFile.java:1055)
at java.base/java.util.zip.ZipFile$1.getManifestName(ZipFile.java:1098)
at java.base/javax.crypto.JarVerifier.verifySingleJar(JarVerifier.java:460)
at java.base/javax.crypto.JarVerifier.verifyJars(JarVerifier.java:316)
at java.base/javax.crypto.JarVerifier.verify(JarVerifier.java:259)
at java.base/javax.crypto.ProviderVerifier.verify(ProviderVerifier.java:129)
at java.base/javax.crypto.JceSecurity.verifyProvider(JceSecurity.java:189)
at java.base/javax.crypto.JceSecurity.getVerificationResult(JceSecurity.java:217)
at java.base/javax.crypto.JceSecurity.getInstance(JceSecurity.java:139)
... 120 more
這是由於在此問題中跟蹤的 Spring 引導中的錯誤: https://github.com/spring-projects/spring-boot/issues/28837 。
該問題特定於 Oracle 的 JDK 17。如果可以選擇切換 JDK,您可以降級到 Oracle JDK 11。或者,任何版本的 OpenJDK(均支持 8、11 和 17)也應該避免該問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.