From 5f4fc1331714f061880ba77a26001489d7179171 Mon Sep 17 00:00:00 2001 From: Sergey Beryozkin Date: Mon, 2 Jan 2023 20:07:38 +0000 Subject: [PATCH] Add Jose4j OctetKeyPairJsonWebKey substitutions --- .../build/runtime/graalvm/Substitutions.java | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 extensions/smallrye-jwt-build/runtime/src/main/java/io/quarkus/smallrye/jwt/build/runtime/graalvm/Substitutions.java diff --git a/extensions/smallrye-jwt-build/runtime/src/main/java/io/quarkus/smallrye/jwt/build/runtime/graalvm/Substitutions.java b/extensions/smallrye-jwt-build/runtime/src/main/java/io/quarkus/smallrye/jwt/build/runtime/graalvm/Substitutions.java new file mode 100644 index 0000000000000..4d09817c95dc1 --- /dev/null +++ b/extensions/smallrye-jwt-build/runtime/src/main/java/io/quarkus/smallrye/jwt/build/runtime/graalvm/Substitutions.java @@ -0,0 +1,29 @@ +package io.quarkus.smallrye.jwt.build.runtime.graalvm; + +import java.util.function.BooleanSupplier; + +import com.oracle.svm.core.annotate.Substitute; +import com.oracle.svm.core.annotate.TargetClass; + +@TargetClass(className = "org.jose4j.jwk.OctetKeyPairJsonWebKey", onlyWith = JavaVersionLessThan17.class) +final class Target_org_jose4j_jwk_OctetKeyPairJsonWebKey { + @Substitute + public Target_org_jose4j_jwk_OctetKeyPairJsonWebKey(java.security.PublicKey publicKey) { + } + + @Substitute + Target_org_jose4j_jwk_OctetKeyPairUtil subtypeKeyUtil() { + return null; + } +} + +@TargetClass(className = "org.jose4j.keys.OctetKeyPairUtil", onlyWith = JavaVersionLessThan17.class) +final class Target_org_jose4j_jwk_OctetKeyPairUtil { +} + +class JavaVersionLessThan17 implements BooleanSupplier { + @Override + public boolean getAsBoolean() { + return Runtime.version().version().get(0) < 17; + } +}