Based on Cluster configuration, NodeManager/TaskTrackers set up Decrypters to decrypt the job's secrets.
Based on Job configuration, JobClient reads secrets from a KeyStore using a Keyprovider implementation and encrypts them using the cluster's public key.
The encrypted secrets are stored in Job Credentials.
The task addresses the following requirements:
• Plug in different key store mechanisms.
• Retrieve specified keys from a configured keystore as part of job submission
• Protect keys during its transport through the cluster.
• Make sure that keys are handed over only to the tasks of the correct job.