public static Map<String, PublicKey> getKeysForUse(JSONWebKeySet keySet, JWK.Use requestedUse) { Map<String, PublicKey> result = new HashMap<>(); for (JWK jwk : keySet.getKeys()) { JWKParser parser = JWKParser.create(jwk); if (jwk.getPublicKeyUse().equals(requestedUse.asString()) && parser.isKeyTypeSupported(jwk.getKeyType())) { result.put(jwk.getKeyId(), parser.toPublicKey()); } } return result; }
public static JWK getKeyForUse(JSONWebKeySet keySet, JWK.Use requestedUse) { for (JWK jwk : keySet.getKeys()) { JWKParser parser = JWKParser.create(jwk); if (parser.getJwk().getPublicKeyUse().equals(requestedUse.asString()) && parser.isKeyTypeSupported(jwk.getKeyType())) { return jwk; } } return null; } }
public static Map<String, KeyWrapper> getKeyWrappersForUse(JSONWebKeySet keySet, JWK.Use requestedUse) { Map<String, KeyWrapper> result = new HashMap<>(); for (JWK jwk : keySet.getKeys()) { JWKParser parser = JWKParser.create(jwk); if (jwk.getPublicKeyUse().equals(requestedUse.asString()) && parser.isKeyTypeSupported(jwk.getKeyType())) { KeyWrapper keyWrapper = new KeyWrapper(); keyWrapper.setKid(jwk.getKeyId()); keyWrapper.setAlgorithm(jwk.getAlgorithm()); keyWrapper.setType(jwk.getKeyType()); keyWrapper.setUse(getKeyUse(jwk.getPublicKeyUse())); keyWrapper.setVerifyKey(parser.toPublicKey()); result.put(keyWrapper.getKid(), keyWrapper); } } return result; }
for (JWK jwk : keySet.getKeys()) { JWKParser parse = JWKParser.create(jwk); if (parse.getJwk().getPublicKeyUse().equals(JWK.SIG_USE) && keyTypeSupported(jwk.getKeyType())) { PublicKey key = parse.toPublicKey(); config.setPublicKeySignatureVerifier(KeycloakModelUtils.getPemFromKey(key));