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