001 package com.nimbusds.jose;
002
003
004 import com.nimbusds.jose.util.Base64URL;
005
006
007 /**
008 * Read-only view of a {@link JWEHeader JWE header}.
009 *
010 * @author Vladimir Dzhuvinov
011 * @version $version$ (2012-10-16)
012 */
013 public interface ReadOnlyJWEHeader extends ReadOnlyCommonSEHeader {
014
015
016 /**
017 * Gets the algorithm ({@code alg}) parameter.
018 *
019 * @return The algorithm parameter.
020 */
021 @Override
022 public JWEAlgorithm getAlgorithm();
023
024
025 /**
026 * Gets the encryption method ({@code enc}) parameter.
027 *
028 * @return The encryption method parameter.
029 */
030 public EncryptionMethod getEncryptionMethod();
031
032
033 /**
034 * Gets the Ephemeral Public Key ({@code epk}) parameter.
035 *
036 * @return The Ephemeral Public Key parameter, {@code null} if not
037 * specified.
038 */
039 public ECKey getEphemeralPublicKey();
040
041
042 /**
043 * Gets the compression algorithm ({@code zip}) parameter.
044 *
045 * @return The compression algorithm parameter, {@code null} if not
046 * specified.
047 */
048 public CompressionAlgorithm getCompressionAlgorithm();
049
050
051 /**
052 * Gets the agreement PartyUInfo ({@code apu}) parameter.
053 *
054 * @return The agreement PartyUInfo parameter, {@code null} if not
055 * specified.
056 */
057 public Base64URL getAgreementPartyUInfo();
058
059
060 /**
061 * Gets the agreement PartyVInfo ({@code apv}) parameter.
062 *
063 * @return The agreement PartyVInfo parameter, {@code null} if not
064 * specified.
065 */
066 public Base64URL getAgreementPartyVInfo();
067
068
069 /**
070 * Gets the encryption PartyUInfo ({@code epu}) parameter.
071 *
072 * @return The encryption PartyUInfo parameter, {@code null} if not
073 * specified.
074 */
075 public Base64URL getEncryptionPartyUInfo();
076
077
078 /**
079 * Gets the encryption PartyVInfo ({@code epv}) parameter.
080 *
081 * @return The encryption PartyVInfo parameter, {@code null} if not
082 * specified.
083 */
084 public Base64URL getEncryptionPartyVInfo();
085 }