001 package com.nimbusds.jose; 002 003 004 import java.net.URL; 005 006 import com.nimbusds.jose.util.Base64; 007 import com.nimbusds.jose.util.Base64URL; 008 009 010 /** 011 * Read-only view of {@link CommonSEHeader common JWS/JWE header parameters}. 012 * 013 * @author Vladimir Dzhuvinov 014 * @version $version$ (2012-09-19) 015 */ 016 public interface ReadOnlyCommonSEHeader extends ReadOnlyHeader { 017 018 019 /** 020 * Gets the JSON Web Key (JWK) Set URL ({@code jku}) parameter. 021 * 022 * @return The JSON Web Key (JWK) Set URL parameter, {@code null} if not 023 * specified. 024 */ 025 public URL getJWKURL(); 026 027 028 /** 029 * Gets the JSON Web Key (JWK) ({@code jwk}) parameter. 030 * 031 * @return The JSON Web Key (JWK) parameter, {@code null} if not 032 * specified. 033 */ 034 public JWK getJWK(); 035 036 037 /** 038 * Gets the X.509 certificate URL ({@code x5u}) parameter. 039 * 040 * @return The X.509 certificate URL parameter, {@code null} if not 041 * specified. 042 */ 043 public URL getX509CertURL(); 044 045 046 /** 047 * Gets the X.509 certificate thumbprint ({@code x5t}) parameter. 048 * 049 * @return The X.509 certificate thumbprint parameter, {@code null} if 050 * not specified. 051 */ 052 public Base64URL getX509CertThumbprint(); 053 054 055 /** 056 * Gets the X.509 certificate chain parameter ({@code x5c}) 057 * corresponding to the key used to sign or encrypt the JWS/JWE object. 058 * 059 * @return The X.509 certificate chain parameter, {@code null} if not 060 * specified. 061 */ 062 public Base64[] getX509CertChain(); 063 064 065 /** 066 * Gets the key ID ({@code kid}) parameter. 067 * 068 * @return The key ID parameter, {@code null} if not specified. 069 */ 070 public String getKeyID(); 071 }