IdentifierWithHMACGenerator<T>
@ThreadSafe public abstract class AbstractIdentifierWithHMACGenerator<T> extends Object implements IdentifierWithHMACGenerator<T>
Constructor | Description |
---|---|
AbstractIdentifierWithHMACGenerator(SecretKey hmacKey) |
Creates a new generator of secure random identifiers with SHA-256
based Message Authentication Code (MAC) protection.
|
Modifier and Type | Method | Description |
---|---|---|
com.nimbusds.jose.util.Base64URL |
extractValue(T identifier) |
Extracts the raw value from the specified HMAC protected identifier
(to be used as a key in database queries, etc).
|
SecretKey |
getHMACKey() |
Returns the HMAC key.
|
com.nimbusds.jose.util.Base64URL |
validateAndExtractValue(T identifier) |
Checks the HMAC of the specified identifier and returns its raw
value (to be used as a key in database queries, etc).
|
applyHMAC, generate
public AbstractIdentifierWithHMACGenerator(SecretKey hmacKey)
hmacKey
- The HMAC key, must be 256 bits long.public SecretKey getHMACKey()
public com.nimbusds.jose.util.Base64URL validateAndExtractValue(T identifier) throws InvalidIdentifierException
IdentifierWithHMACGenerator
validateAndExtractValue
in interface IdentifierWithHMACGenerator<T>
identifier
- The identifier with HMAC protection. Must not be
null
.InvalidIdentifierException
- If the identifier format is
illegal or didn't pass the HMAC
check.public com.nimbusds.jose.util.Base64URL extractValue(T identifier)
IdentifierWithHMACGenerator
extractValue
in interface IdentifierWithHMACGenerator<T>
identifier
- The identifier with HMAC protection. Must not be
null
.Copyright © 2018 Connect2id. All rights reserved.