[
https://issues.apache.org/jira/browse/RANGER-4739?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Pradeep Agrawal resolved RANGER-4739.
-------------------------------------
Fix Version/s: 3.0.0
Resolution: Fixed
> Unit test failures in KnoxRangerTest for JDK 17
> -----------------------------------------------
>
> Key: RANGER-4739
> URL: https://issues.apache.org/jira/browse/RANGER-4739
> Project: Ranger
> Issue Type: Task
> Components: Ranger
> Reporter: Rakesh Gupta
> Assignee: Rakesh Gupta
> Priority: Major
> Fix For: 3.0.0
>
>
> Build in master branch (mvn clean compile package install) fails due to
> KnoxRangerTest class:
> {code:java}
> ERROR Error in generating certificate: java.lang.IllegalAccessException:
> class org.apache.knox.gateway.util.X509CertificateUtil cannot access class
> sun.security.x509.X509CertInfo (in module java.base) because module java.base
> does not export sun.security.x509 to unnamed module @148080bb
> java.lang.IllegalAccessException: class
> org.apache.knox.gateway.util.X509CertificateUtil cannot access class
> sun.security.x509.X509CertInfo (in module java.base) because module java.base
> does not export sun.security.x509 to unnamed module @148080bb
> at
> java.base/jdk.internal.reflect.Reflection.newIllegalAccessException(Reflection.java:392)
> at
> java.base/java.lang.reflect.AccessibleObject.checkAccess(AccessibleObject.java:674)
> at
> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:489)
> at
> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
> at
> org.apache.knox.gateway.util.X509CertificateUtil.generateCertificate(X509CertificateUtil.java:69)
> at
> org.apache.knox.gateway.services.security.impl.DefaultKeystoreService.addCertForGateway(DefaultKeystoreService.java:186)
> at
> org.apache.knox.gateway.services.security.impl.DefaultKeystoreService.addSelfSignedCertForGateway(DefaultKeystoreService.java:166)
> at
> org.apache.knox.gateway.services.security.impl.DefaultKeystoreService.addSelfSignedCertForGateway(DefaultKeystoreService.java:160)
> at
> org.apache.knox.gateway.services.security.impl.JettySSLService.init(JettySSLService.java:88)
> at
> org.apache.knox.gateway.services.DefaultGatewayServices.init(DefaultGatewayServices.java:104)
> at
> org.apache.knox.gateway.GatewayTestDriver.setupGateway(GatewayTestDriver.java:162)
> at
> org.apache.ranger.services.knox.KnoxRangerTest.setupSuite(KnoxRangerTest.java:60)
> [ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 7.266
> s <<< FAILURE! - in org.apache.ranger.services.knox.KnoxRangerTest
> [ERROR] org.apache.ranger.services.knox.KnoxRangerTest Time elapsed: 7.266 s
> <<< ERROR!
> java.lang.NullPointerException: Cannot invoke
> "java.security.cert.Certificate.getEncoded()" because "entry.chain[i]" is null
> at
> java.base/sun.security.provider.JavaKeyStore.engineStore(JavaKeyStore.java:606)
> at
> java.base/sun.security.util.KeyStoreDelegator.engineStore(KeyStoreDelegator.java:190)
> at java.base/java.security.KeyStore.store(KeyStore.java:1404)
> at
> org.apache.knox.gateway.services.security.impl.DefaultKeystoreService.writeKeyStoreToFile(DefaultKeystoreService.java:503)
> at
> org.apache.knox.gateway.services.security.impl.DefaultKeystoreService.addCertForGateway(DefaultKeystoreService.java:194)
> at
> org.apache.knox.gateway.services.security.impl.DefaultKeystoreService.addSelfSignedCertForGateway(DefaultKeystoreService.java:166)
> at
> org.apache.knox.gateway.services.security.impl.DefaultKeystoreService.addSelfSignedCertForGateway(DefaultKeystoreService.java:160)
> at
> org.apache.knox.gateway.services.security.impl.JettySSLService.init(JettySSLService.java:88)
> at
> org.apache.knox.gateway.services.DefaultGatewayServices.init(DefaultGatewayServices.java:104)
> at
> org.apache.knox.gateway.GatewayTestDriver.setupGateway(GatewayTestDriver.java:162)
> at
> org.apache.ranger.services.knox.KnoxRangerTest.setupSuite(KnoxRangerTest.java:60)
> at java.base/java.lang.reflect.Method.invoke(Method.java:568)
> [INFO]
> [INFO] Results:
> [INFO]
> [ERROR] Errors:
> [ERROR] KnoxRangerTest.setupSuite:60 » NullPointer Cannot invoke
> "java.security.cert.Certificate.getEncoded()" because "entry.chain[i]" is null
> [INFO]
> [ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0
> {code}
> Even after handling above JDK 17 error through config "--add-exports
> java.base/sun.security.x509=ALL-UNNAMED" , its give Error
> {code:java}
> ERROR Error in generating certificate: java.lang.NoSuchFieldException:
> md5WithRSAEncryption_oid
> java.lang.NoSuchFieldException: md5WithRSAEncryption_oid
> at java.base/java.lang.Class.getDeclaredField(Class.java:2610)
> at
> org.apache.knox.gateway.util.X509CertificateUtil.generateCertificate(X509CertificateUtil.java:146)
> at
> org.apache.knox.gateway.services.security.impl.DefaultKeystoreService.addCertForGateway(DefaultKeystoreService.java:186)
> at
> org.apache.knox.gateway.services.security.impl.DefaultKeystoreService.addSelfSignedCertForGateway(DefaultKeystoreService.java:166)
> at
> org.apache.knox.gateway.services.security.impl.DefaultKeystoreService.addSelfSignedCertForGateway(DefaultKeystoreService.java:160)
> at
> org.apache.knox.gateway.services.security.impl.JettySSLService.init(JettySSLService.java:88)
> at
> org.apache.knox.gateway.services.DefaultGatewayServices.init(DefaultGatewayServices.java:104)
> at
> org.apache.knox.gateway.GatewayTestDriver.setupGateway(GatewayTestDriver.java:162)
> at
> org.apache.ranger.services.knox.KnoxRangerTest.setupSuite(KnoxRangerTest.java:60)
> [ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 6.42
> s <<< FAILURE! - in org.apache.ranger.services.knox.KnoxRangerTest
> [ERROR] org.apache.ranger.services.knox.KnoxRangerTest Time elapsed: 6.42 s
> <<< ERROR!
> java.lang.NullPointerException: Cannot invoke
> "java.security.cert.Certificate.getEncoded()" because "entry.chain[i]" is null
> at
> java.base/sun.security.provider.JavaKeyStore.engineStore(JavaKeyStore.java:606)
> at
> java.base/sun.security.util.KeyStoreDelegator.engineStore(KeyStoreDelegator.java:190)
> at java.base/java.security.KeyStore.store(KeyStore.java:1404)
> at
> org.apache.knox.gateway.services.security.impl.DefaultKeystoreService.writeKeyStoreToFile(DefaultKeystoreService.java:503)
> at
> org.apache.knox.gateway.services.security.impl.DefaultKeystoreService.addCertForGateway(DefaultKeystoreService.java:194)
> at
> org.apache.knox.gateway.services.security.impl.DefaultKeystoreService.addSelfSignedCertForGateway(DefaultKeystoreService.java:166)
> at
> org.apache.knox.gateway.services.security.impl.DefaultKeystoreService.addSelfSignedCertForGateway(DefaultKeystoreService.java:160)
> at
> org.apache.knox.gateway.services.security.impl.JettySSLService.init(JettySSLService.java:88)
> at
> org.apache.knox.gateway.services.DefaultGatewayServices.init(DefaultGatewayServices.java:104)
> at
> org.apache.knox.gateway.GatewayTestDriver.setupGateway(GatewayTestDriver.java:162)
> at
> org.apache.ranger.services.knox.KnoxRangerTest.setupSuite(KnoxRangerTest.java:60)
> at java.base/java.lang.reflect.Method.invoke(Method.java:568)
> [INFO] Results:
> [INFO]
> [ERROR] Errors:
> [ERROR] KnoxRangerTest.setupSuite:60 » NullPointer Cannot invoke
> "java.security.cert.Certificate.getEncoded()" because "entry.chain[i]" is null
> [INFO]
> [ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0
> {code}
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)