public class AwsSignature4Signer extends java.lang.Object implements RequestSigner
Created by Karel Maesen, Geovise BVBA on 06/06/16.
| Constructor and Description |
|---|
AwsSignature4Signer(AwsServiceEndPoint serviceEndPoint,
AwsCredentialsProvider credentialsProvider)
Constructs an instance that double encodes URL paths
|
AwsSignature4Signer(AwsServiceEndPoint serviceEndPoint,
AwsCredentialsProvider credentialsProvider,
boolean doubleUrlEncode)
Constructs an instance
|
| Modifier and Type | Method and Description |
|---|---|
java.lang.String |
authHeader(ClientRequest request,
java.lang.String timestamp) |
java.lang.String |
authHeader(ClientRequest request,
java.lang.String timestamp,
AwsCredentials credentials) |
java.lang.String |
awsHost() |
java.lang.String |
canonicalRequest(ClientRequest request) |
java.lang.String |
canonicalRequest(java.lang.String method,
java.lang.String uri,
java.util.Map<java.lang.String,java.util.List<java.lang.String>> queryParams,
java.util.Map<java.lang.String,java.util.List<java.lang.String>> headers,
java.lang.String body) |
java.lang.String |
formatAuthHeader(java.lang.String signature,
java.lang.String timestamp,
java.lang.String SignedHeaders,
AwsCredentials credentials) |
AwsCredentials |
getCredentials() |
static java.lang.String |
hexEncode(byte[] digest) |
static byte[] |
hmacSHA256(java.lang.String data,
byte[] key) |
void |
sign(ClientRequest clientRequest) |
java.lang.String |
signature(java.lang.String stringToSign,
java.lang.String timestamp,
AwsCredentials credentials) |
java.lang.String |
stringToSign(java.lang.String canonicalRequest,
java.lang.String timestamp) |
public AwsSignature4Signer(AwsServiceEndPoint serviceEndPoint, AwsCredentialsProvider credentialsProvider, boolean doubleUrlEncode)
See also: https://github.com/aws/aws-sdk-js/issues/853 for why we need the doubleUrlEncode parameter, and why by default it is set to true.
serviceEndPoint - the service EndpointcredentialsProvider - the credentials providerdoubleUrlEncode - whether canonical request URL encode already URL encoded pathspublic AwsSignature4Signer(AwsServiceEndPoint serviceEndPoint, AwsCredentialsProvider credentialsProvider)
serviceEndPoint - the service EndpointcredentialsProvider - the credentials providerpublic void sign(ClientRequest clientRequest)
sign in interface RequestSignerpublic java.lang.String canonicalRequest(ClientRequest request)
public java.lang.String canonicalRequest(java.lang.String method,
java.lang.String uri,
java.util.Map<java.lang.String,java.util.List<java.lang.String>> queryParams,
java.util.Map<java.lang.String,java.util.List<java.lang.String>> headers,
java.lang.String body)
public AwsCredentials getCredentials()
public java.lang.String awsHost()
public java.lang.String authHeader(ClientRequest request, java.lang.String timestamp)
public java.lang.String authHeader(ClientRequest request, java.lang.String timestamp, AwsCredentials credentials)
public java.lang.String stringToSign(java.lang.String canonicalRequest,
java.lang.String timestamp)
public java.lang.String signature(java.lang.String stringToSign,
java.lang.String timestamp,
AwsCredentials credentials)
public java.lang.String formatAuthHeader(java.lang.String signature,
java.lang.String timestamp,
java.lang.String SignedHeaders,
AwsCredentials credentials)
public static java.lang.String hexEncode(byte[] digest)
public static byte[] hmacSHA256(java.lang.String data,
byte[] key)
throws java.lang.Exception
java.lang.Exception