001 package com.nimbusds.jose;
002
003
004 import java.util.Set;
005
006
007 /**
008 * Common interface for JSON Web Encryption (JWE) {@link JWEEncrypter
009 * encrypters} and {@link JWEDecrypter decrypters}.
010 *
011 * <p>Callers can query the JWS provider to determine its algorithm
012 * capabilities.
013 *
014 * @author Vladimir Dzhuvinov
015 * @version $version$ (2012-10-16)
016 */
017 public interface JWEAlgorithmProvider {
018
019
020 /**
021 * Returns the names of the supported JWE algorithms. These correspond
022 * to the {@code alg} JWE header parameter.
023 *
024 * @return The supported JWE algorithms, empty set if none.
025 */
026 public Set<JWEAlgorithm> supportedAlgorithms();
027
028
029 /**
030 * Returns the names of the supported encryption methods. These
031 * correspond to the {@code enc} JWE header parameter.
032 *
033 * @return The supported encryption methods, empty set if none.
034 */
035 public Set<EncryptionMethod> supportedEncryptionMethods();
036 }