// These are all legacy behavior that are not implemented in newer ESDKs //= aws-encryption-sdk-specification/framework/default-cmm.md#legacy-behavior-master-key-providers //= type=exception //# For implementations that support [master key providers](master-key-provider-interface.md), //# the default CMM MUST support generating, encrypting, and decrypting data keys //# using master key providers. //= aws-encryption-sdk-specification/framework/default-cmm.md#legacy //= type=implication //# Master key providers SHOULD NOT be included in any additional implementations. //= aws-encryption-sdk-specification/framework/default-cmm.md#initialization-1 //= type=implication //# In place of requiring the caller to provide a [keyring](keyring-interface.md) //# on initialization: //# //# On default CMM initialization, //# the caller MUST provide the following value: //# //# - [Master Key Provider](master-key-provider-interface.md) //= aws-encryption-sdk-specification/framework/default-cmm.md#get-encryption-materials-master-key-provider //= type=implication //# In place of calling its keyring's [On Encrypt](keyring-interface.md#onencrypt) operation: //# //# The default CMM MUST call its master key provider's //# [Get Master Keys for Encryption](master-key-provider-interface.md#get-master-keys-for-encryption) operation //# to obtain a list of master keys to use. //# //# If the master key provider does not identify which master key MUST generate the data key, //# the default CMM MUST use the first master key in the list for that purpose. //# The default CMM MUST generate the data key using this master key's //# [Generate Data Key](master-key-interface.md#generate-data-key) operation. //# //# For each remaining master key, //# the default CMM MUST call the master key's //# [Encrypt Data Key](master-key-interface.md#encrypt-data-key) operation //# with the plaintext data key. //= aws-encryption-sdk-specification/framework/default-cmm.md#decrypt-materials-master-key-provider //= type=implication //# In place of calling its keyring's [On Decrypt](keyring-interface.md#ondecrypt) operation: //# //# The default CMM MUST call its master key provider's //# [Decrypt Data Key](master-key-provider-interface.md#decrypt-data-key) operation.