| 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
 1.8.9.1