当我将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发布于 2022-01-15 20:34:18
这是由于Spring中的一个bug在这个问题中被跟踪:https://github.com/spring-projects/spring-boot/issues/28837。
这个问题是Oracle的JDK 17特有的。如果切换JDK是一个选项,您可以降级为Oracle 11。或者,任何版本的OpenJDK (8、11和17都被支持)也应该避免这个问题。
https://stackoverflow.com/questions/70718511
复制相似问题