org.apache.poi.poifs.crypt.agile

## Class AgileEncryptionHeader

- java.lang.Object
- - org.apache.poi.poifs.crypt.EncryptionHeader
  - - org.apache.poi.poifs.crypt.agile.AgileEncryptionHeader

- All Implemented Interfaces:
    Duplicatable, GenericRecord

      public class AgileEncryptionHeader
      extends EncryptionHeader

- - ### Field Summary

    - ### Fields inherited from class org.apache.poi.poifs.crypt.EncryptionHeader

      `ALGORITHM_AES_128, ALGORITHM_AES_192, ALGORITHM_AES_256, ALGORITHM_RC4, HASH_NONE, HASH_SHA1, HASH_SHA256, HASH_SHA384, HASH_SHA512, MODE_CBC, MODE_CFB, MODE_ECB, PROVIDER_AES, PROVIDER_RC4`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `` | `AgileEncryptionHeader(AgileEncryptionHeader other)`
    `` | `AgileEncryptionHeader(CipherAlgorithm algorithm, HashAlgorithm hashAlgorithm, int keyBits, int blockSize, ChainingMode chainingMode)`
    `protected` | `AgileEncryptionHeader(com.microsoft.schemas.office.x2006.encryption.EncryptionDocument ed)`
    `` | `AgileEncryptionHeader(java.lang.String descriptor)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `AgileEncryptionHeader` | `copy()`
    `byte[]` | `getEncryptedHmacKey()`
    `byte[]` | `getEncryptedHmacValue()`
    `java.util.Map<java.lang.String,java.util.function.Supplier<?>>` | `getGenericProperties()`
    `protected void` | `setEncryptedHmacKey(byte[] encryptedHmacKey)`
    `protected void` | `setEncryptedHmacValue(byte[] encryptedHmacValue)`
    `protected void` | `setKeySalt(byte[] salt)`

    - ### Methods inherited from class org.apache.poi.poifs.crypt.EncryptionHeader

      `getBlockSize, getChainingMode, getCipherAlgorithm, getCipherProvider, getCspName, getFlags, getHashAlgorithm, getKeySalt, getKeySize, getSizeExtra, setBlockSize, setChainingMode, setCipherAlgorithm, setCipherProvider, setCspName, setFlags, setHashAlgorithm, setKeySize, setSizeExtra`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.apache.poi.common.usermodel.GenericRecord

      `getGenericChildren, getGenericRecordType`

- - ### Constructor Detail

    - #### AgileEncryptionHeader

          public AgileEncryptionHeader(java.lang.String descriptor)

    - #### AgileEncryptionHeader

          public AgileEncryptionHeader(AgileEncryptionHeader other)

    - #### AgileEncryptionHeader

          protected AgileEncryptionHeader(com.microsoft.schemas.office.x2006.encryption.EncryptionDocument ed)

    - #### AgileEncryptionHeader

          public AgileEncryptionHeader(CipherAlgorithm algorithm,
                                       HashAlgorithm hashAlgorithm,
                                       int keyBits,
                                       int blockSize,
                                       ChainingMode chainingMode)

  - ### Method Detail

    - #### setKeySalt

          protected void setKeySalt(byte[] salt)

      Overrides:
        `setKeySalt` in class `EncryptionHeader`

    - #### getEncryptedHmacKey

          public byte[] getEncryptedHmacKey()

    - #### setEncryptedHmacKey

          protected void setEncryptedHmacKey(byte[] encryptedHmacKey)

    - #### getEncryptedHmacValue

          public byte[] getEncryptedHmacValue()

    - #### setEncryptedHmacValue

          protected void setEncryptedHmacValue(byte[] encryptedHmacValue)

    - #### getGenericProperties

          public java.util.Map<java.lang.String,java.util.function.Supplier<?>> getGenericProperties()

      Specified by:
        `getGenericProperties` in interface `GenericRecord`
      Overrides:
        `getGenericProperties` in class `EncryptionHeader`

    - #### copy

          public AgileEncryptionHeader copy()

      Specified by:
        `copy` in interface `Duplicatable`
      Specified by:
        `copy` in class `EncryptionHeader`
      Returns:
        a deep copy of the implementing class / instance

Copyright 2020 The Apache Software Foundation or its licensors, as applicable.