001package com.nimbusds.jose; 002 003 004import java.util.Set; 005 006import com.nimbusds.jose.jca.JCAAware; 007import com.nimbusds.jose.jca.JWEJCAContext; 008 009 010/** 011 * JSON Web Encryption (JWE) provider. 012 * 013 * <p>The JWE provider can be queried to determine its algorithm capabilities. 014 * 015 * @author Vladimir Dzhuvinov 016 * @version 2015-05-26 017 */ 018public interface JWEProvider extends JOSEProvider, JCAAware<JWEJCAContext> { 019 020 021 /** 022 * Returns the names of the supported algorithms by the JWE provider 023 * instance. These correspond to the {@code alg} JWE header parameter. 024 * 025 * @return The supported JWE algorithms, empty set if none. 026 */ 027 Set<JWEAlgorithm> supportedJWEAlgorithms(); 028 029 030 /** 031 * Returns the names of the supported encryption methods by the JWE 032 * provier. These correspond to the {@code enc} JWE header parameter. 033 * 034 * @return The supported encryption methods, empty set if none. 035 */ 036 Set<EncryptionMethod> supportedEncryptionMethods(); 037}