|
|
@ -15,11 +15,13 @@ |
|
|
|
#include "selfdrive/common/util.h" |
|
|
|
#include "selfdrive/common/util.h" |
|
|
|
#include "selfdrive/hardware/hw.h" |
|
|
|
#include "selfdrive/hardware/hw.h" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
namespace CommaApi { |
|
|
|
|
|
|
|
|
|
|
|
const std::string private_key_path = |
|
|
|
const std::string private_key_path = |
|
|
|
Hardware::PC() ? util::getenv_default("HOME", "/.comma/persist/comma/id_rsa", "/persist/comma/id_rsa") |
|
|
|
Hardware::PC() ? util::getenv_default("HOME", "/.comma/persist/comma/id_rsa", "/persist/comma/id_rsa") |
|
|
|
: "/persist/comma/id_rsa"; |
|
|
|
: "/persist/comma/id_rsa"; |
|
|
|
|
|
|
|
|
|
|
|
QByteArray CommaApi::rsa_sign(const QByteArray &data) { |
|
|
|
QByteArray rsa_sign(const QByteArray &data) { |
|
|
|
auto file = QFile(private_key_path.c_str()); |
|
|
|
auto file = QFile(private_key_path.c_str()); |
|
|
|
if (!file.open(QIODevice::ReadOnly)) { |
|
|
|
if (!file.open(QIODevice::ReadOnly)) { |
|
|
|
qDebug() << "No RSA private key found, please run manager.py or registration.py"; |
|
|
|
qDebug() << "No RSA private key found, please run manager.py or registration.py"; |
|
|
@ -43,7 +45,7 @@ QByteArray CommaApi::rsa_sign(const QByteArray &data) { |
|
|
|
return sig; |
|
|
|
return sig; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
QString CommaApi::create_jwt(const QJsonObject &payloads, int expiry) { |
|
|
|
QString create_jwt(const QJsonObject &payloads, int expiry) { |
|
|
|
QJsonObject header = {{"alg", "RS256"}}; |
|
|
|
QJsonObject header = {{"alg", "RS256"}}; |
|
|
|
|
|
|
|
|
|
|
|
QString dongle_id = QString::fromStdString(Params().get("DongleId")); |
|
|
|
QString dongle_id = QString::fromStdString(Params().get("DongleId")); |
|
|
@ -63,6 +65,7 @@ QString CommaApi::create_jwt(const QJsonObject &payloads, int expiry) { |
|
|
|
return jwt; |
|
|
|
return jwt; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} // namespace CommaApi
|
|
|
|
|
|
|
|
|
|
|
|
HttpRequest::HttpRequest(QObject *parent, const QString &requestURL, const QString &cache_key, bool create_jwt_) : cache_key(cache_key), create_jwt(create_jwt_), QObject(parent) { |
|
|
|
HttpRequest::HttpRequest(QObject *parent, const QString &requestURL, const QString &cache_key, bool create_jwt_) : cache_key(cache_key), create_jwt(create_jwt_), QObject(parent) { |
|
|
|
networkAccessManager = new QNetworkAccessManager(this); |
|
|
|
networkAccessManager = new QNetworkAccessManager(this); |
|
|
|