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    }