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