Table of Contents

Class AbstractAWSSigner

Namespace
Amazon.Runtime.Internal.Auth
Assembly
AWSSDK.Core.dll
public abstract class AbstractAWSSigner
Inheritance
AbstractAWSSigner
Derived
Inherited Members

Constructors

AbstractAWSSigner()

protected AbstractAWSSigner()

Properties

Protocol

public abstract ClientProtocol Protocol { get; }

Property Value

ClientProtocol

RequiresCredentials

Signals to the Signer Pipeline Handler if a Signer requires valid ImmutableCredentials in order to correctly Sign(IRequest, IClientConfig, RequestMetrics, ImmutableCredentials).

public virtual bool RequiresCredentials { get; }

Property Value

bool

Methods

ComputeHash(byte[], string, SigningAlgorithm)

Computes RFC 2104-compliant HMAC signature.

protected static string ComputeHash(byte[] data, string secretkey, SigningAlgorithm algorithm)

Parameters

data byte[]
secretkey string
algorithm SigningAlgorithm

Returns

string

ComputeHash(string, string, SigningAlgorithm)

Computes RFC 2104-compliant HMAC signature.

protected static string ComputeHash(string data, string secretkey, SigningAlgorithm algorithm)

Parameters

data string
secretkey string
algorithm SigningAlgorithm

Returns

string

SelectSigner(AbstractAWSSigner, bool, IRequest, IClientConfig)

protected AbstractAWSSigner SelectSigner(AbstractAWSSigner defaultSigner, bool useSigV4Setting, IRequest request, IClientConfig config)

Parameters

defaultSigner AbstractAWSSigner
useSigV4Setting bool
request IRequest
config IClientConfig

Returns

AbstractAWSSigner

SelectSigner(IRequest, IClientConfig)

protected AbstractAWSSigner SelectSigner(IRequest request, IClientConfig config)

Parameters

request IRequest
config IClientConfig

Returns

AbstractAWSSigner

Sign(IRequest, IClientConfig, RequestMetrics, ImmutableCredentials)

public virtual void Sign(IRequest request, IClientConfig clientConfig, RequestMetrics metrics, ImmutableCredentials credentials)

Parameters

request IRequest
clientConfig IClientConfig
metrics RequestMetrics
credentials ImmutableCredentials

Sign(IRequest, IClientConfig, RequestMetrics, string, string)

public abstract void Sign(IRequest request, IClientConfig clientConfig, RequestMetrics metrics, string awsAccessKeyId, string awsSecretAccessKey)

Parameters

request IRequest
clientConfig IClientConfig
metrics RequestMetrics
awsAccessKeyId string
awsSecretAccessKey string

SignAsync(IRequest, IClientConfig, RequestMetrics, ImmutableCredentials, CancellationToken)

public virtual Task SignAsync(IRequest request, IClientConfig clientConfig, RequestMetrics metrics, ImmutableCredentials credentials, CancellationToken token = default)

Parameters

request IRequest
clientConfig IClientConfig
metrics RequestMetrics
credentials ImmutableCredentials
token CancellationToken

Returns

Task

UseV4Signing(bool, IRequest, IClientConfig)

Inspects the supplied evidence to determine if sigv4 or sigv2 signing should be used

protected static bool UseV4Signing(bool useSigV4Setting, IRequest request, IClientConfig config)

Parameters

useSigV4Setting bool

Global setting for the service

request IRequest

The request.

config IClientConfig

Configuration for the client

Returns

bool

True if signature v4 request signing should be used, false if v2 signing should be used