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