public class QueryStringSigner extends AbstractAWSSigner implements Signer
Modifier and Type | Field and Description |
---|---|
private java.util.Date |
overriddenDate
Date override for testing only
|
EMPTY_STRING_SHA256_HEX
Constructor and Description |
---|
QueryStringSigner() |
Modifier and Type | Method and Description |
---|---|
protected void |
addSessionCredentials(SignableRequest<?> request,
AWSSessionCredentials credentials)
Adds session credentials to the request given.
|
private java.lang.String |
calculateStringToSignV1(java.util.Map<java.lang.String,java.util.List<java.lang.String>> parameters)
Calculates string to sign for signature version 1.
|
private java.lang.String |
calculateStringToSignV2(SignableRequest<?> request)
Calculate string to sign for signature version 2.
|
private java.lang.String |
getCanonicalizedResourcePath(SignableRequest<?> request) |
private java.lang.String |
getFormattedTimestamp(int offset)
Formats date as ISO 8601 timestamp
|
(package private) void |
overrideDate(java.util.Date date)
For testing purposes only, to control the date used in signing.
|
void |
sign(SignableRequest<?> request,
AWSCredentials credentials)
This signer will add "Signature" parameter to the request.
|
void |
sign(SignableRequest<?> request,
SignatureVersion version,
SigningAlgorithm algorithm,
AWSCredentials credentials)
This signer will add following authentication parameters to the request:
AWSAccessKeyId SignatureVersion SignatureMethod Timestamp Signature
|
getBinaryRequestPayload, getBinaryRequestPayloadStream, getBinaryRequestPayloadStreamWithoutQueryParams, getBinaryRequestPayloadWithoutQueryParams, getCanonicalizedEndpoint, getCanonicalizedQueryString, getCanonicalizedQueryString, getCanonicalizedResourcePath, getCanonicalizedResourcePath, getRequestPayload, getRequestPayloadWithoutQueryParams, getSignatureDate, getTimeOffset, hash, hash, hash, newString, sanitizeCredentials, sign, sign, signAndBase64Encode, signAndBase64Encode, signWithMac
public void sign(SignableRequest<?> request, AWSCredentials credentials) throws AmazonClientException
sign
in interface Signer
request
- request to be signed.credentials
- The credentials used to use to sign the request.AmazonClientException
public void sign(SignableRequest<?> request, SignatureVersion version, SigningAlgorithm algorithm, AWSCredentials credentials) throws AmazonClientException
request
- request to be signed.version
- signature version. "2" is recommended.algorithm
- signature algorithm. "HmacSHA256" is recommended.AmazonClientException
private java.lang.String calculateStringToSignV1(java.util.Map<java.lang.String,java.util.List<java.lang.String>> parameters)
parameters
- request parametersprivate java.lang.String calculateStringToSignV2(SignableRequest<?> request) throws AmazonClientException
request
- The request being signed.AmazonClientException
- If the string to sign cannot be calculated.private java.lang.String getCanonicalizedResourcePath(SignableRequest<?> request)
private java.lang.String getFormattedTimestamp(int offset)
void overrideDate(java.util.Date date)
protected void addSessionCredentials(SignableRequest<?> request, AWSSessionCredentials credentials)
AbstractAWSSigner
addSessionCredentials
in class AbstractAWSSigner
request
- The request to add session credentials information tocredentials
- The session credentials to add to the request