org.apache.hadoop.mapreduce.security.token
Class JobTokenSecretManager

java.lang.Object
  extended by org.apache.hadoop.security.token.SecretManager<JobTokenIdentifier>
      extended by org.apache.hadoop.mapreduce.security.token.JobTokenSecretManager

public class JobTokenSecretManager
extends SecretManager<JobTokenIdentifier>

SecretManager for job token. It can be used to cache generated job tokens.


Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.hadoop.security.token.SecretManager
SecretManager.InvalidToken
 
Constructor Summary
JobTokenSecretManager()
          Default constructor
 
Method Summary
 void addTokenForJob(String jobId, Token<JobTokenIdentifier> token)
          Add the job token of a job to cache
static byte[] computeHash(byte[] msg, SecretKey key)
          Compute the HMAC hash of the message using the key
 JobTokenIdentifier createIdentifier()
          Create an empty job token identifier
 byte[] createPassword(JobTokenIdentifier identifier)
          Create a new password/secret for the given job token identifier.
static SecretKey createSecretKey(byte[] key)
          Convert the byte[] to a secret key
 void removeTokenForJob(String jobId)
          Remove the cached job token of a job from cache
 byte[] retrievePassword(JobTokenIdentifier identifier)
          Look up the token password/secret for the given job token identifier.
 SecretKey retrieveTokenSecret(String jobId)
          Look up the token password/secret for the given jobId.
 
Methods inherited from class org.apache.hadoop.security.token.SecretManager
createPassword, generateSecret
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JobTokenSecretManager

public JobTokenSecretManager()
Default constructor

Method Detail

createSecretKey

public static SecretKey createSecretKey(byte[] key)
Convert the byte[] to a secret key

Parameters:
key - the byte[] to create the secret key from
Returns:
the secret key

computeHash

public static byte[] computeHash(byte[] msg,
                                 SecretKey key)
Compute the HMAC hash of the message using the key

Parameters:
msg - the message to hash
key - the key to use
Returns:
the computed hash

createPassword

public byte[] createPassword(JobTokenIdentifier identifier)
Create a new password/secret for the given job token identifier.

Specified by:
createPassword in class SecretManager<JobTokenIdentifier>
Parameters:
identifier - the job token identifier
Returns:
token password/secret

addTokenForJob

public void addTokenForJob(String jobId,
                           Token<JobTokenIdentifier> token)
Add the job token of a job to cache

Parameters:
jobId - the job that owns the token
token - the job token

removeTokenForJob

public void removeTokenForJob(String jobId)
Remove the cached job token of a job from cache

Parameters:
jobId - the job whose token is to be removed

retrieveTokenSecret

public SecretKey retrieveTokenSecret(String jobId)
                              throws SecretManager.InvalidToken
Look up the token password/secret for the given jobId.

Parameters:
jobId - the jobId to look up
Returns:
token password/secret as SecretKey
Throws:
InvalidToken
SecretManager.InvalidToken

retrievePassword

public byte[] retrievePassword(JobTokenIdentifier identifier)
                        throws SecretManager.InvalidToken
Look up the token password/secret for the given job token identifier.

Specified by:
retrievePassword in class SecretManager<JobTokenIdentifier>
Parameters:
identifier - the job token identifier to look up
Returns:
token password/secret as byte[]
Throws:
InvalidToken
SecretManager.InvalidToken

createIdentifier

public JobTokenIdentifier createIdentifier()
Create an empty job token identifier

Specified by:
createIdentifier in class SecretManager<JobTokenIdentifier>
Returns:
a newly created empty job token identifier


Copyright © 2009 The Apache Software Foundation