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

com.ksyun.ks3.service.encryption.model.CryptoMode Maven / Gradle / Ivy

package com.ksyun.ks3.service.encryption.model;

/**
 * Denotes the different cryptographic modes available for securing an S3 object
 * via client-side encryption. Crypto mode can be configured via
 * {@link CryptoConfiguration} when the S3 encryption client is constructed.
 */
public enum CryptoMode {
    /** Encryption-only mode using AES/CBC. */
    EncryptionOnly,
    /**
     * Authenticated encryption mode using AES/GCM, AESWrap, etc. Please
     * note the limitation on the maximum message size in bytes that can be
     * encrypted under this mode is 2^36-32, or ~64G, due to the security
     * limitation of AES/GCM as recommended by NIST.
     */
    AuthenticatedEncryption,
    /**
     * Strictly enforce the use of authenticated encryption via AES/GCM,
     * AESWrap, etc., and will throw security exception if an S3 object
     * retrieved is found to be not protected using authenticated encryption.
     * This means range-get operation is not supported in this mode, since
     * range-get is not authenticated.
     * 

* Please note the limitation on the maximum message size in bytes that can * be encrypted under this mode is 2^36-32, or ~64G, due to the security * limitation of AES/GCM as recommended by NIST. */ StrictAuthenticatedEncryption, ; }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy