[
https://issues.apache.org/jira/browse/DIRSERVER-2326?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17191823#comment-17191823
]
Josef Cacek commented on DIRSERVER-2326:
----------------------------------------
We use embedded ApacheDS for LDAP authentication and Kerberos authentication
tests. The tests are executed on JDKs supported by Hazelcast (incl. IBM ones).
We would rather not skip these tests.
The BouncyCastle dependency (4.3MB) is already in the ApacheDS {{core}} module,
so using it shouldn't be a problem.
Another option is to use another library. E.g. the WildFly Elytron one came to
my mind. The dependencies needed for X509 certificate generation have less than
500KB. You can see this approach used in this commit:
https://github.com/kwart/directory-server/commit/37ffc0b6c74e725a022d311422bcc13de6c8c7ad
> LDAP server doesn't start on IBM JDK 8 (NoClassDefFound)
> --------------------------------------------------------
>
> Key: DIRSERVER-2326
> URL: https://issues.apache.org/jira/browse/DIRSERVER-2326
> Project: Directory ApacheDS
> Issue Type: Bug
> Components: core
> Affects Versions: 2.0.0.AM26
> Environment: IBM Java 8
> Reporter: Josef Cacek
> Priority: Major
>
> The LDAP server won't start on IBM JDK version 8 due to changes in Directory
> Server AM26. The
> {{org.apache.directory.server.core.security.CertificateUtil}} newly used to
> load keystore imports internal {{sun.security.x509}} package classes. These
> classes are not available on IBM JDK 8.
> h3. Stacktrace
> {code:java}
> java.lang.NoClassDefFoundError: sun.security.x509.GeneralNameInterface
> at
> org.apache.directory.server.ldap.LdapServer.start(LdapServer.java:421)
> at
> org.apache.directory.server.factory.ServerAnnotationProcessor.createLdapServer(ServerAnnotationProcessor.java:328)
> at
> org.apache.directory.server.factory.ServerAnnotationProcessor.createLdapServer(ServerAnnotationProcessor.java:351)
> at
> org.apache.directory.server.core.integ.CreateLdapServerRule$2.evaluate(CreateLdapServerRule.java:112)
> at
> org.apache.directory.server.core.integ.CreateDsRule$2.evaluate(CreateDsRule.java:124)
> at org.junit.rules.RunRules.evaluate(RunRules.java:20)
> at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
> at org.junit.runners.Suite.runChild(Suite.java:128)
> at org.junit.runners.Suite.runChild(Suite.java:27)
> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
> at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
> at org.apache.maven.surefire.junitcore.JUnitCore.run(JUnitCore.java:55)
> at
> org.apache.maven.surefire.junitcore.JUnitCoreWrapper.createRequestAndRun(JUnitCoreWrapper.java:137)
> at
> org.apache.maven.surefire.junitcore.JUnitCoreWrapper.executeEager(JUnitCoreWrapper.java:107)
> at
> org.apache.maven.surefire.junitcore.JUnitCoreWrapper.execute(JUnitCoreWrapper.java:83)
> at
> org.apache.maven.surefire.junitcore.JUnitCoreWrapper.execute(JUnitCoreWrapper.java:75)
> at
> org.apache.maven.surefire.junitcore.JUnitCoreProvider.invoke(JUnitCoreProvider.java:158)
> at
> org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:383)
> at
> org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:344)
> at
> org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:125)
> at
> org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:417)
> Caused by: java.lang.ClassNotFoundException:
> sun.security.x509.GeneralNameInterface
> at java.net.URLClassLoader.findClass(URLClassLoader.java:610)
> at java.lang.ClassLoader.loadClassHelper(ClassLoader.java:944)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:889)
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:872)
> ... 25 more
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]