[ https://issues.apache.org/jira/browse/RANGER-4739?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Rakesh Gupta updated RANGER-4739: --------------------------------- Issue Type: Bug (was: Improvement) > Unit test failures in KnoxRangerTest for JDK 17 > ----------------------------------------------- > > Key: RANGER-4739 > URL: https://issues.apache.org/jira/browse/RANGER-4739 > Project: Ranger > Issue Type: Bug > Components: Ranger > Reporter: Rakesh Gupta > Assignee: Rakesh Gupta > Priority: Major > > 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)