All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.quarkus.vault.runtime.config.TransitKeyConfig Maven / Gradle / Ivy

package io.quarkus.vault.runtime.config;

import java.util.Optional;

import io.quarkus.runtime.annotations.ConfigGroup;
import io.quarkus.runtime.annotations.ConfigItem;

@ConfigGroup
public class TransitKeyConfig {

    /**
     * Specifies the name of the key to use. By default this will be the property key alias. Used when
     * the same transit key is used with different configurations. Such as in:
     * ```
     * quarkus.vault.transit.key.my-foo-key.name=foo
     *
     * quarkus.vault.transit.key.my-foo-key-with-prehashed.name=foo
     * quarkus.vault.transit.key.my-foo-key-with-prehashed.prehashed=true
     * ...
     * transitSecretEngine.sign("my-foo-key", "my raw content");
     * or
     * transitSecretEngine.sign("my-foo-key-with-prehashed", "my already hashed content");
     * ```
     * 
     * @asciidoclet
     */
    @ConfigItem
    public Optional name;

    // sign

    /**
     * Set to true when the input is already hashed.
     * Applies to sign operations.
     * 
     * @see api documentation for prehashed
     */
    @ConfigItem
    public Optional prehashed;

    /**
     * When using a RSA key, specifies the RSA signature algorithm.
     * Applies to sign operations.
     * 
     * @see api documentation for
     *      signature_algorithm
     */
    @ConfigItem
    public Optional signatureAlgorithm;

    /**
     * Specifies the hash algorithm to use for supporting key types.
     * Applies to sign operations.
     * 
     * @see api documentation for
     *      hash_algorithm
     */
    @ConfigItem
    public Optional hashAlgorithm;

    // encrypt

    /**
     * Specifies the type of key to create for the encrypt operation.
     * Applies to encrypt operations.
     * 
     * @see api documentation for type
     */
    @ConfigItem
    public Optional type;

    /**
     * If enabled, the key will support convergent encryption, where the same plaintext creates the same ciphertext.
     * Applies to encrypt operations.
     * 
     * @see api documentation for
     *      convergent_encryption
     */
    @ConfigItem
    public Optional convergentEncryption;

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy