public static ECDSAPublicKey getECDSAPublicKey(String jwkSetUrl, String keyId) { ECDSAPublicKey publicKey = null; JwkClient jwkClient = new JwkClient(jwkSetUrl); JwkResponse jwkResponse = jwkClient.exec(); if (jwkResponse != null && jwkResponse.getStatus() == 200) { PublicKey pk = jwkResponse.getPublicKey(keyId); if (pk instanceof ECDSAPublicKey) { publicKey = (ECDSAPublicKey) pk; } } return publicKey; } }
public static RSAPublicKey getRSAPublicKey(String jwkSetUri, String keyId, ClientExecutor clientExecutor) { RSAPublicKey publicKey = null; JwkClient jwkClient = new JwkClient(jwkSetUri); jwkClient.setExecutor(clientExecutor); JwkResponse jwkResponse = jwkClient.exec(); if (jwkResponse != null && jwkResponse.getStatus() == 200) { PublicKey pk = jwkResponse.getPublicKey(keyId); if (pk instanceof RSAPublicKey) { publicKey = (RSAPublicKey) pk; } } return publicKey; }
@Test public void requestJwks() throws Exception { showTitle("requestJwks"); JwkClient jwkClient = new JwkClient(jwksUri); JwkResponse response = jwkClient.exec(); showClient(jwkClient); assertEquals(response.getStatus(), 200, "Unexpected response code: " + response.getEntity()); assertNotNull(response.getEntity(), "Unexpected result: entity is null"); assertNotNull(response.getJwks(), "Unexpected result: jwks is null"); assertNotNull(response.getJwks().getKeys(), "Unexpected result: keys is null"); assertTrue(response.getJwks().getKeys().size() > 0, "Unexpected result: keys is empty"); for (JSONWebKey JSONWebKey : response.getJwks().getKeys()) { assertNotNull(JSONWebKey.getKid(), "Unexpected result: kid is null"); assertNotNull(JSONWebKey.getUse(), "Unexpected result: use is null"); } }
@Parameters({"clientJwksUri"}) @Test public void requestClientJwks(final String clientJwksUri) throws Exception { showTitle("requestJwks"); JwkClient jwkClient = new JwkClient(clientJwksUri); JwkResponse response = jwkClient.exec(); showClient(jwkClient); assertEquals(response.getStatus(), 200, "Unexpected response code: " + response.getEntity()); assertNotNull(response.getEntity(), "Unexpected result: entity is null"); assertNotNull(response.getJwks(), "Unexpected result: jwks is null"); assertNotNull(response.getJwks().getKeys(), "Unexpected result: keys is null"); assertTrue(response.getJwks().getKeys().size() > 0, "Unexpected result: keys is empty"); for (JSONWebKey JSONWebKey : response.getJwks().getKeys()) { assertNotNull(JSONWebKey.getKid(), "Unexpected result: kid is null"); assertNotNull(JSONWebKey.getUse(), "Unexpected result: use is null"); } } }