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>
36 class QTAWS_EXPORT AwsSignatureV4Private :
public AwsAbstractSignaturePrivate {
39 AwsSignatureV4Private(
const QCryptographicHash::Algorithm hashAlgorithm,
AwsSignatureV4 *
const q);
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;
49 static const QLatin1String DateFormat;
50 static const QLatin1String DateTimeFormat;
52 const QCryptographicHash::Algorithm hashAlgorithm;
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;
Interface class for providing AWS credentials.
Definition: awsabstractcredentials.h:30
Implements AWS Signature Version 4.
Definition: awssignaturev4.h:32