20 #ifndef AWSSIGNATUREV4_P_H
21 #define AWSSIGNATUREV4_P_H
23 #include "qtawsglobal.h"
24 #include "awsabstractsignature_p.h"
26 #include <QCryptographicHash>
28 #include <QNetworkAccessManager>
42 const QNetworkAccessManager::Operation operation,
43 QNetworkRequest &request,
const QByteArray &payload,
44 const QDateTime ×tamp)
const;
46 QDateTime setDateHeader(QNetworkRequest &request,
const QDateTime &dateTime = QDateTime::currentDateTimeUtc())
const;
54 QByteArray algorithmDesignation(
const QCryptographicHash::Algorithm algorithm)
const;
57 const QNetworkAccessManager::Operation operation,
58 QNetworkRequest &request,
const QByteArray &payload,
59 const QDateTime ×tamp)
const;
61 QByteArray canonicalHeader(
const QByteArray &headerName,
const QByteArray &headerValue)
const;
63 QByteArray canonicalHeaders(
const QNetworkRequest &request, QByteArray *
const signedHeaders)
const;
65 QByteArray canonicalRequest(
const QNetworkAccessManager::Operation operation,
const QNetworkRequest &request,
66 const QByteArray &payload, QByteArray *
const signedHeaders)
const;
68 QByteArray credentialScope(
const QDate &date,
const QString ®ion,
const QString &service)
const;
71 const QString ®ion,
const QString &service)
const;
73 QByteArray stringToSign(
const QByteArray &algorithmDesignation,
const QDateTime &requestDate,
74 const QByteArray &credentialScope,
const QByteArray &canonicalRequest)
const;
78 friend class TestAwsSignatureV4;
static const QLatin1String DateFormat
Format V4 signatures use to represent dates in canonical form.
const QCryptographicHash::Algorithm hashAlgorithm
Hash algorithm to use when signing.
Private implementation for AwsSignatureV4.
Private implementation for AwsAbstractSignature.
Interface class for providing AWS credentials.
Implements AWS Signature Version 4.
static const QLatin1String DateTimeFormat
Format V4 signatures use to represent timestamps in canonical form.