All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jose4j.keys.resolvers.EmbeddedJwkVerificationKeyResolver Maven / Gradle / Ivy

The newest version!
package org.jose4j.keys.resolvers;

import org.jose4j.jwk.PublicJsonWebKey;
import org.jose4j.jws.JsonWebSignature;
import org.jose4j.jwx.JsonWebStructure;
import org.jose4j.lang.JoseException;
import org.jose4j.lang.UnresolvableKeyException;

import java.security.Key;
import java.util.List;

/**
 * A VerificationKeyResolver implementation that uses the key in the "jwk" JWS header per
 * https://tools.ietf.org/html/rfc7515#section-4.1.3
 * 
* This Resolver should be used only with great care and only for specific circumstances. * */ public class EmbeddedJwkVerificationKeyResolver implements VerificationKeyResolver { private PublicJsonWebKey jwk; @Override public Key resolveKey(JsonWebSignature jws, List nestingContext) throws UnresolvableKeyException { try { jwk = jws.getJwkHeader(); } catch (JoseException e) { throw new UnresolvableKeyException("Problem processing jwk from JWS header ("+e.getMessage()+")", e); } if (jwk == null) { throw new UnresolvableKeyException("No jwk in JWS header"); } return jwk.getKey(); } /** * Gets the JWK that was found in the JWS header by this resolver. * @return the JWK */ public PublicJsonWebKey getJwk() { return jwk; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy