29 lines
736 B
C++
29 lines
736 B
C++
#pragma once
|
|
|
|
#include <QByteArray>
|
|
#include <QString>
|
|
|
|
class DeviceIdentityHelper {
|
|
public:
|
|
explicit DeviceIdentityHelper(const QString &installDir);
|
|
|
|
bool ensureIssued(
|
|
const QString &apiBaseUrl,
|
|
const QString &clientToken,
|
|
const QString &appId,
|
|
const QString &channel,
|
|
const QString &licenseKey);
|
|
bool verifyLocal(const QString &appId, const QString &channel);
|
|
|
|
QString deviceId() const;
|
|
QString errorString() const;
|
|
|
|
private:
|
|
bool loadAndVerify(const QString &expectedAppId, const QString &expectedChannel);
|
|
bool verifySignature(const QByteArray &payload, const QString &signatureBase64);
|
|
|
|
QString m_installDir;
|
|
QString m_deviceId;
|
|
QString m_error;
|
|
};
|