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 }