# Can't use EdDSA in debug mode

**URL:** <https://forum.keycloak.org/t/cant-use-eddsa-in-debug-mode/28212>\
**Category:** Extending the server\
**Tags:** authentication\
**Created:** [October 7, 2024, 8:29am UTC](https://forum.keycloak.org/t/cant-use-eddsa-in-debug-mode/28212 "2024-10-07T08:29:43Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![iwtkachenko](https://yyz2.discourse-cdn.com/free1/user_avatar/forum.keycloak.org/iwtkachenko/32/11385_2.png) [@iwtkachenko](https://forum.keycloak.org/u/iwtkachenko)\
**Post date:** [October 7, 2024, 8:29am UTC](https://forum.keycloak.org/t/cant-use-eddsa-in-debug-mode/28212/1 "2024-10-07T08:29:43Z")

</div>

Hello everyone!  
I’m writing some integration and sometimes need to use debugger on keycloak side.

When I run it this way:

```auto
../mvnw -Dkc.home.dir=$DIR \
  -Dmaven.repo.local=/var/m2 \
  -Dkc.db-driver=org.postgresql.Driver \
  -DdebugHost=0.0.0.0 -f server/pom.xml compile quarkus:dev \
  -DskipTestsuite -DskipExamples -DskipTests \
  -Dquarkus.class-loading.removed-artifacts="io.quarkus:quarkus-jdbc-oracle,io.quarkus:quarkus-jdbc-oracle-deployment" \
  -Dquarkus.args="start-dev --db=postgres --cache=local --db-driver=org.postgresql.Driver \
  --spi-theme-static-max-age=-1 --spi-theme-cache-themes=false --spi-theme-cache-templates=false"

```

It’s almost working but it looks like core subproject is attached as if it’s \<16 java, so I got exception: EdDSA algorithms not supported in this JDK version

When I run it this way:

```auto
java -Dkc.home.dir=$DIR -jar server/target/lib/quarkus-run.jar start-dev

```

It’s working fine.

I tried with openjdk-17-jdk-headless and openjdk-21-jdk-headless  
I tried also the following paramters:

```auto
   -Dmaven.compiler.source=21 \
   -Dmaven.compiler.target=21 \
   -Dmaven.compiler.release=21 \
   -Djava.version=17 \

```

And tried to change core/pom.xml

```auto
<properties>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
        <maven.compiler.release>17</maven.compiler.release>
        <timestamp>${maven.build.timestamp}</timestamp>
        <maven.build.timestamp.format>yyyy-MM-dd HH:mm</maven.build.timestamp.format>
    </properties>

```

I use 26.0.0 tag and also tried on 25…something.

Probably someone from core devs can suggest how to make the trick.

Thank you in advance 🙂

The exception details:

> **Summary**
>
> ```auto
> 
> Uncaught server error: java.lang.UnsupportedOperationException: EdDSA algorithms not supported in this JDK version
> at org.keycloak.jose.jwk.JWKBuilder.okp(JWKBuilder.java:55)
> at org.keycloak.protocol.oidc.utils.JWKSServerUtils.lambda$getRealmJwks$3(JWKSServerUtils.java:50)
> at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
> at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
> at java.base/java.util.stream.Streams$StreamBuilderImpl.forEachRemaining(Streams.java:411)
> at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762)
> at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276)
> at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1708)
> at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
> at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
> at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575)
> at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260)
> at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616)
> at org.keycloak.protocol.oidc.utils.JWKSServerUtils.getRealmJwks(JWKSServerUtils.java:55)
> at org.keycloak.protocol.oidc.OIDCLoginProtocolService.certs(OIDCLoginProtocolService.java:203)
> at org.keycloak.protocol.oidc.OIDCLoginProtocolService$quarkusrestinvoker$certs_1733fcf7c61aca04aebce7f74553f34fd667b730.invoke(Unknown Source)
> at org.jboss.resteasy.reactive.server.handlers.InvocationHandler.handle(InvocationHandler.java:29)
> at io.quarkus.resteasy.reactive.server.runtime.QuarkusResteasyReactiveRequestContext.invokeHandler(QuarkusResteasyReactiveRequestContext.java:141)
> at org.jboss.resteasy.reactive.common.core.AbstractResteasyReactiveContext.run(AbstractResteasyReactiveContext.java:147)
> at io.quarkus.vertx.core.runtime.VertxCoreRecorder$14.runWith(VertxCoreRecorder.java:635)
> at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2516)
> at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2495)
> at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1521)
> at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:11)
> at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:11)
> at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
> at java.base/java.lang.Thread.run(Thread.java:1583)
> 
> ```
