diff --git a/src/main/java/org/apache/geronimo/microprofile/impl/jwtauth/jaxrs/GroupMapper.java b/src/main/java/org/apache/geronimo/microprofile/impl/jwtauth/jaxrs/GroupMapper.java
index eefdd25..490d321 100644
--- a/src/main/java/org/apache/geronimo/microprofile/impl/jwtauth/jaxrs/GroupMapper.java
+++ b/src/main/java/org/apache/geronimo/microprofile/impl/jwtauth/jaxrs/GroupMapper.java
@@ -33,7 +33,7 @@
 import org.apache.geronimo.microprofile.impl.jwtauth.io.PropertiesLoader;
 
 @ApplicationScoped
-class GroupMapper {
+public class GroupMapper {
     @Inject
     private GeronimoJwtAuthConfig config;
 
diff --git a/src/main/java/org/apache/geronimo/microprofile/impl/jwtauth/jwt/KidMapper.java b/src/main/java/org/apache/geronimo/microprofile/impl/jwtauth/jwt/KidMapper.java
index 8b36265..83f5215 100644
--- a/src/main/java/org/apache/geronimo/microprofile/impl/jwtauth/jwt/KidMapper.java
+++ b/src/main/java/org/apache/geronimo/microprofile/impl/jwtauth/jwt/KidMapper.java
@@ -82,7 +82,7 @@
         defaultKey = config.read("public-key.default", config.read(Names.VERIFIER_PUBLIC_KEY, null));
     }
 
-    String loadKey(final String property) {
+    public String loadKey(final String property) {
         String value = keyMapping.get(property);
         if (value == null) {
             value = tryLoad(property);
@@ -95,7 +95,7 @@
         return value;
     }
 
-    Collection<String> loadIssuers(final String property) {
+    public Collection<String> loadIssuers(final String property) {
         return issuerMapping.getOrDefault(property, defaultIssuers);
     }
 
diff --git a/src/main/java/org/apache/geronimo/microprofile/impl/jwtauth/jwt/SignatureValidator.java b/src/main/java/org/apache/geronimo/microprofile/impl/jwtauth/jwt/SignatureValidator.java
index f87dff3..b5a9633 100644
--- a/src/main/java/org/apache/geronimo/microprofile/impl/jwtauth/jwt/SignatureValidator.java
+++ b/src/main/java/org/apache/geronimo/microprofile/impl/jwtauth/jwt/SignatureValidator.java
@@ -63,7 +63,7 @@
         jcaProvider = config.read("jca.provider", null);
     }
 
-    void verifySignature(final String alg, final String key, final String signingString, final String expected) {
+    public void verifySignature(final String alg, final String key, final String signingString, final String expected) {
         final String normalizedAlg = alg.toLowerCase(Locale.ROOT);
         if (!supportedAlgorithms.contains(normalizedAlg)) {
             throw new JwtException("Unsupported algorithm", HttpURLConnection.HTTP_UNAUTHORIZED);
