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 }