use of io.gravitee.am.model.jose.OKPKey in project gravitee-access-management by gravitee-io.
the class DynamicClientRegistrationResponseTest method convert.
@Test
public void convert() {
RSAKey rsaKey = new RSAKey();
rsaKey.setKty("RSA");
rsaKey.setKid("kidRSA");
rsaKey.setUse("enc");
rsaKey.setE("exponent");
rsaKey.setN("modulus");
ECKey ecKey = new ECKey();
ecKey.setKty("EC");
ecKey.setKid("kidEC");
ecKey.setUse("enc");
ecKey.setCrv("P-256");
ecKey.setX("vBT2JhFHd62Jcf4yyBzSV9NuDBNBssR1zlmnHelgZcs");
ecKey.setY("up8E8b3TjeKS2v2GCH23UJP0bak0La77lkQ7_n4djqE");
OKPKey okpKey = new OKPKey();
okpKey.setKty("OKP");
okpKey.setKid("kidOKP");
okpKey.setCrv("Ed25519");
okpKey.setX("vBNW8f19leF79U4U6NrDDQaK_i5kL0iMKghB39AUT2I");
OCTKey octKey = new OCTKey();
octKey.setKty("oct");
octKey.setKid("kidOCT");
octKey.setK("FdFYFzERwC2uCBB46pZQi4GG85LujR8obt-KWRBICVQ");
JWKSet jwkSet = new JWKSet();
jwkSet.setKeys(Arrays.asList(rsaKey, ecKey, okpKey, octKey));
Client client = new Client();
client.setClientId("clientId");
client.setClientName("clientName");
client.setJwks(jwkSet);
DynamicClientRegistrationResponse response = DynamicClientRegistrationResponse.fromClient(client);
assertNotNull("expecting response", response);
assertEquals(response.getClientId(), "clientId");
assertEquals(response.getClientName(), "clientName");
assertTrue(response.getJwks().getKeys().size() == 4);
}
use of io.gravitee.am.model.jose.OKPKey in project gravitee-access-management by gravitee-io.
the class JWKServiceTest method testFilter_OKP.
@Test
public void testFilter_OKP() {
OKPKey okpEnc = new OKPKey();
okpEnc.setKty("OKP");
okpEnc.setKid("okpEnc");
okpEnc.setCrv("X25519");
OKPKey okpSig = new OKPKey();
okpSig.setKty("OKP");
okpSig.setKid("okpSig");
okpSig.setCrv("Ed25519");
JWKSet okpSet = new JWKSet();
okpSet.setKeys(Arrays.asList(okpEnc, okpSig));
TestObserver testObserver = jwkService.filter(okpSet, JWKFilter.CURVE_KEY_ENCRYPTION()).test();
testObserver.assertNoErrors();
testObserver.assertComplete();
testObserver.assertValue(jwk -> ((JWK) jwk).getKid().equals("okpEnc"));
}
use of io.gravitee.am.model.jose.OKPKey in project gravitee-access-management by gravitee-io.
the class JWSServiceTest method testVerifier_OKP_invalid.
@Test(expected = IllegalArgumentException.class)
public void testVerifier_OKP_invalid() {
OKPKey key = new OKPKey();
key.setKty("OKP");
key.setKid(KID);
// Not Signature curve
key.setCrv("X25519");
key.setX("vBNW8f19leF79U4U6NrDDQaK_i5kL0iMKghB39AUT2I");
jwsService.verifier(key);
}
use of io.gravitee.am.model.jose.OKPKey in project gravitee-access-management by gravitee-io.
the class JWSServiceTest method testVerifier_OKP_unknownCurve.
@Test(expected = IllegalArgumentException.class)
public void testVerifier_OKP_unknownCurve() {
OKPKey key = new OKPKey();
key.setKty("OKP");
key.setCrv("unknown");
// Should throw InvalidClientException due to unknown curve
jwsService.verifier(key);
}
use of io.gravitee.am.model.jose.OKPKey in project gravitee-access-management by gravitee-io.
the class JWEServiceTest method encryptIdToken_OKP_parseError.
@Test
public void encryptIdToken_OKP_parseError() {
OKPKey key = new OKPKey();
key.setCrv("crv");
key.setX("x");
encryptIdToken_parseError(key, "ECDH-ES");
}
Aggregations