libqtaws  0.1.0
UnofficialAWSlibraryforQt-InternalDocumentation
Public Member Functions | Friends | List of all members
AwsSignatureV4 Class Reference

Implements AWS Signature Version 4. More...

Inheritance diagram for AwsSignatureV4:
Inheritance graph
[legend]
Collaboration diagram for AwsSignatureV4:
Collaboration graph
[legend]

Public Member Functions

 AwsSignatureV4 (const QCryptographicHash::Algorithm hashAlgorithm=QCryptographicHash::Sha256)
 Constructs a new AwsSignatureV4 object. More...
 
virtual void sign (const AwsAbstractCredentials &credentials, const QNetworkAccessManager::Operation operation, QNetworkRequest &request, const QByteArray &data=QByteArray()) const
 Sign an AWS request. More...
 
virtual int version () const
 AWS Signature version implemented by this class. More...
 
- Public Member Functions inherited from AwsAbstractSignature
 AwsAbstractSignature ()
 Initialises an AwsAbstractSignature object. More...
 
virtual ~AwsAbstractSignature ()
 AwsAbstractSignature destructor.
 

Friends

class TestAwsSignatureV4
 

Additional Inherited Members

- Protected Member Functions inherited from AwsAbstractSignature
 AwsAbstractSignature (AwsAbstractSignaturePrivate *const d)
 Initialises an AwsAbstractSignature object. More...
 
- Protected Attributes inherited from AwsAbstractSignature
AwsAbstractSignaturePrivate *const d_ptr
 Internal d-pointer.
 

Detailed Description

Implements AWS Signature Version 4.

See also
http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html

Definition at line 32 of file awssignaturev4.h.

Constructor & Destructor Documentation

AwsSignatureV4::AwsSignatureV4 ( const QCryptographicHash::Algorithm  hashAlgorithm = QCryptographicHash::Sha256)

Constructs a new AwsSignatureV4 object.

Use instances of this object to provide Version 4 signatures for AWS services.

Parameters
hashAlgorithmThe algorithm to use during various stages of signing.
Note
The AWS Signature Version 4 documentation is not explcit about which hash algorithms are supported by Amazon, however all documented examples use SHA256.

Definition at line 54 of file awssignaturev4.cpp.

55  : AwsAbstractSignature(new AwsSignatureV4Private(hashAlgorithm, this))
56 {
57 
58 }
Private implementation for AwsSignatureV4.
AwsAbstractSignature()
Initialises an AwsAbstractSignature object.

Member Function Documentation

void AwsSignatureV4::sign ( const AwsAbstractCredentials credentials,
const QNetworkAccessManager::Operation  operation,
QNetworkRequest &  request,
const QByteArray &  data = QByteArray() 
) const
virtual

Sign an AWS request.

Note, credentials must be valid before calling this function. So, for example, if credentials has expired, and is refreshable, it is the caller's responsibility to refresh the credentials before calling this function.

Parameters
operationThe network operation to sign request for.
requestThe network request to be signed.
credentialsThe credentials to use for signing.
dataOptional POST / PUT data to sign request for.

Implements AwsAbstractSignature.

Definition at line 60 of file awssignaturev4.cpp.

63 {
64  Q_D(const AwsSignatureV4);
65  d->setAuthorizationHeader(credentials, operation, request, data, d->setDateHeader(request));
66 }
Implements AWS Signature Version 4.
int AwsSignatureV4::version ( ) const
virtual

AWS Signature version implemented by this class.

Derived classes must implement this function to report the version of the AWS Signature implemented by the class.

Returns
The AWS Signature version implemented by this class.

Implements AwsAbstractSignature.

Definition at line 68 of file awssignaturev4.cpp.

69 {
70  return 4;
71 }

The documentation for this class was generated from the following files: