67 lines
1.5 KiB
C++
67 lines
1.5 KiB
C++
#ifndef EETCA_H
|
|
#define EETCA_H
|
|
|
|
#include <QByteArray>
|
|
#include <QDateTime>
|
|
#include <QList>
|
|
#include <QUuid>
|
|
#include <QUrl>
|
|
#include <QSslConfiguration>
|
|
|
|
#include "eetcpp_global.h"
|
|
|
|
struct EETCPPSHARED_EXPORT EetCaClientConfig
|
|
{
|
|
QUrl apiBaseUrl;
|
|
QString signingPkcs12Path;
|
|
QByteArray signingPkcs12Password;
|
|
int timeoutMilliseconds{30000};
|
|
QSslConfiguration sslConfiguration;
|
|
};
|
|
|
|
struct EETCPPSHARED_EXPORT EetCaRequestStatus
|
|
{
|
|
QUuid requestId;
|
|
QString state;
|
|
int pollAfterSeconds{0};
|
|
QString rejectedReason;
|
|
};
|
|
|
|
struct EETCPPSHARED_EXPORT EetCaCertificate
|
|
{
|
|
QString serialNumber;
|
|
QDateTime validFrom;
|
|
QDateTime validTo;
|
|
QString state;
|
|
QString description;
|
|
QString email;
|
|
};
|
|
|
|
struct EETCPPSHARED_EXPORT EetCaPkcs12
|
|
{
|
|
QByteArray pkcs12;
|
|
QByteArray password;
|
|
EetCaCertificate certificate;
|
|
};
|
|
|
|
class EETCPPSHARED_EXPORT EetCaClient
|
|
{
|
|
public:
|
|
explicit EetCaClient(EetCaClientConfig config);
|
|
|
|
bool requestRenewal(QUuid *requestId, QString *error = nullptr) const;
|
|
bool requestStatus(const QUuid &requestId,
|
|
EetCaRequestStatus *status,
|
|
QString *error = nullptr) const;
|
|
bool listUnfinished(QList<QUuid> *requestIds, QString *error = nullptr) const;
|
|
bool claimDownload(const QUuid &requestId,
|
|
EetCaPkcs12 *result,
|
|
QString *error = nullptr) const;
|
|
bool acknowledgeDownload(const QUuid &requestId, QString *error = nullptr) const;
|
|
|
|
private:
|
|
EetCaClientConfig m_config;
|
|
};
|
|
|
|
#endif // EETCA_H
|