|
libqtaws
0.1.0
UnofficialAWSlibraryforQt-InternalDocumentation
|
Private implementation for AwsSignatureV2. More...


Public Member Functions | |
| AwsSignatureV2Private (AwsSignatureV2 *const q) | |
| Constructs a new AwsSignatureV2Private object. More... | |
| void | adornRequest (QNetworkRequest &request, const AwsAbstractCredentials &credentials) const |
| Add AWS Signature Version 2 adornments to an AWS request. More... | |
| QByteArray | canonicalRequest (const QNetworkAccessManager::Operation operation, const QUrl &url) const |
| Create an AWS V2 Signature canonical request. More... | |
| QByteArray | signatureMethod (const QCryptographicHash::Algorithm algorithm) const |
| Create an AWS V2 Signature method designation. More... | |
Public Member Functions inherited from AwsAbstractSignaturePrivate | |
| virtual | ~AwsAbstractSignaturePrivate () |
| AwsAbstractSignaturePrivate destructor. More... | |
| AwsAbstractSignaturePrivate (AwsAbstractSignature *const q) | |
| Constructs a new AwsAbstractSignaturePrivate object. More... | |
| QString | canonicalPath (const QUrl &url) const |
| Create an AWS Signature canonical path. More... | |
| QByteArray | canonicalQuery (const QUrlQuery &query) const |
| Create an AWS Signature canonical query. More... | |
| QString | httpMethod (const QNetworkAccessManager::Operation operation) const |
| Create an AWS Signature request method string. More... | |
| bool | setQueryItem (QUrlQuery &query, const QString &key, const QString &value, const bool warnOnNonIdenticalDuplicate=true) const |
| Set a query item, checking for existing values first. More... | |
Public Attributes | |
| QCryptographicHash::Algorithm | hashAlgorithm |
| Hash algorithm to use when signing. | |
Friends | |
| class | TestAwsSignatureV2 |
Additional Inherited Members | |
Protected Attributes inherited from AwsAbstractSignaturePrivate | |
| AwsAbstractSignature *const | q_ptr |
| Internal q-pointer. | |
Private implementation for AwsSignatureV2.
Definition at line 34 of file awssignaturev2_p.h.
| AwsSignatureV2Private::AwsSignatureV2Private | ( | AwsSignatureV2 *const | q | ) |
Constructs a new AwsSignatureV2Private object.
| q | Pointer to this object's public AwsSignatureV2 instance. |
Definition at line 105 of file awssignaturev2.cpp.
| void AwsSignatureV2Private::adornRequest | ( | QNetworkRequest & | request, |
| const AwsAbstractCredentials & | credentials | ||
| ) | const |
Add AWS Signature Version 2 adornments to an AWS request.
In addition to service-specific request parameters, Amazon requires that version 2 signatures contain a number of common query parameters. This functions adds those query parameters to request if they're not already present.
The query parameters added by this function, as required by Amazon, are:
AWSAccessKeyId - set to credentials.accessKeyId().SignatureMethod - set to HMAC-SHA1 or HMAC-SHA256.SignatureVersion - set to 2.Timestamp - set to a current UTC timestamp in an ISO 8601 format, like 2013-10-30T12:34:56Z.| request | Request to adorn. |
| credentials | Credentials to use when adorning request. |
Definition at line 132 of file awssignaturev2.cpp.
References AwsAbstractCredentials::accessKeyId(), hashAlgorithm, AwsAbstractSignaturePrivate::setQueryItem(), and signatureMethod().
| QByteArray AwsSignatureV2Private::canonicalRequest | ( | const QNetworkAccessManager::Operation | operation, |
| const QUrl & | url | ||
| ) | const |
Create an AWS V2 Signature canonical request.
This function creates a canonical representation of an AWS request as defined by Amazon's V2 signature specification.
For example, for the following HTTP GET request:
https://elasticmapreduce.amazonaws.com?Action=DescribeJobFlows&Version=2009-03-31&AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE&SignatureVersion=2SignatureMethod=HmacSHA256Timestamp=2011-10-03T15%3A19%3A30
this function will return the following canonical form:
GET elasticmapreduce.amazonaws.com / AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE&Action=DescribeJobFlows&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2011-10-03T15%3A19%3A30&Version=2009-03-31
| operation | The HTTP method being requested. |
| url | The URL being request. |
Definition at line 184 of file awssignaturev2.cpp.
References AwsAbstractSignaturePrivate::canonicalPath(), AwsAbstractSignaturePrivate::canonicalQuery(), and AwsAbstractSignaturePrivate::httpMethod().
| QByteArray AwsSignatureV2Private::signatureMethod | ( | const QCryptographicHash::Algorithm | algorithm | ) | const |
Create an AWS V2 Signature method designation.
This function returns a signature method designation, as defined by Amazon, for use with V2 signatures.
For example, if the algorith is QCryptographicHash::Sha256, this function will return HmacSHA256.
| algorithm | The hash algorithm to get the canonical designation for. |
Definition at line 210 of file awssignaturev2.cpp.
Referenced by adornRequest().
1.8.9.1