Class JWKGenerator<T extends JWK>

    • Field Detail

      • use

        protected KeyUse use
        The key use, optional.
      • alg

        protected Algorithm alg
        The intended JOSE algorithm for the key, optional.
      • kid

        protected String kid
        The key ID, optional.
      • x5tKid

        protected boolean x5tKid
        If true sets the ID of the JWK to the SHA-256 thumbprint of the JWK.
      • keyStore

        protected KeyStore keyStore
        Reference to the underlying key store, null if none.
    • Method Detail

      • keyUse

        public JWKGenerator<TkeyUse​(KeyUse use)
        Sets the use (use) of the JWK.
        Parameters:
        use - The key use, null if not specified or if the key is intended for signing as well as encryption.
        Returns:
        This generator.
      • keyOperations

        public JWKGenerator<TkeyOperations​(Set<KeyOperation> ops)
        Sets the operations (key_ops) of the JWK.
        Parameters:
        ops - The key operations, null if not specified.
        Returns:
        This generator.
      • algorithm

        public JWKGenerator<Talgorithm​(Algorithm alg)
        Sets the intended JOSE algorithm (alg) for the JWK.
        Parameters:
        alg - The intended JOSE algorithm, null if not specified.
        Returns:
        This generator.
      • keyID

        public JWKGenerator<TkeyID​(String kid)
        Sets the ID (kid) of the JWK. The key ID can be used to match a specific key. This can be used, for instance, to choose a key within a JWKSet during key rollover. The key ID may also correspond to a JWS/JWE kid header parameter value.
        Parameters:
        kid - The key ID, null if not specified.
        Returns:
        This generator.
      • keyIDFromThumbprint

        public JWKGenerator<TkeyIDFromThumbprint​(boolean x5tKid)
        Sets the ID (kid) of the JWK to its SHA-256 JWK thumbprint (RFC 7638). The key ID can be used to match a specific key. This can be used, for instance, to choose a key within a JWKSet during key rollover. The key ID may also correspond to a JWS/JWE kid header parameter value.
        Parameters:
        x5tKid - If true sets the ID of the JWK to the SHA-256 JWK thumbprint.
        Returns:
        This generator.
      • keyStore

        public JWKGenerator<TkeyStore​(KeyStore keyStore)
        Sets the underlying key store.
        Parameters:
        keyStore - Reference to the underlying key store, null if none.
        Returns:
        This generator.
      • generate

        public abstract T generate()
                            throws JOSEException
        Generates the JWK according to the set parameters.
        Returns:
        The generated JWK.
        Throws:
        JOSEException - If the key generation failed.