KUnifiedPush
vapid.cpp
29 const auto header = QByteArray(R"({"typ":"JWT","alg":"ES256"})").toBase64(QByteArray::Base64UrlEncoding | QByteArray::OmitTrailingEquals);
38 {"exp"_L1, QDateTime::currentDateTimeUtc().addDuration(std::chrono::hours(12)).toSecsSinceEpoch()},
41 const auto claim = QJsonDocument(claimObj).toJson(QJsonDocument::Compact).toBase64(QByteArray::Base64UrlEncoding | QByteArray::OmitTrailingEquals);
50 if (EVP_DigestSign(mdCtx.get(), nullptr, &len, reinterpret_cast<const uint8_t*>(token.constData()), token.size()) != 1) {
51 qWarning() << "Failed to determine VAPID JWT signature size" << ERR_error_string(ERR_get_error(), nullptr);
56 if (EVP_DigestSign(mdCtx.get(), reinterpret_cast<uint8_t*>(derSignature.data()), &len, reinterpret_cast<const uint8_t*>(token.constData()), token.size()) != 1) {
83 return "vapid t=" + token + '.' + rawSignature.toBase64(QByteArray::Base64UrlEncoding | QByteArray::OmitTrailingEquals)
Base64UrlEncoding
const char * constData() const const
qsizetype size() const const
QByteArray toBase64(Base64Options options) const const
QDateTime addDuration(std::chrono::milliseconds msecs) const const
QDateTime currentDateTimeUtc()
qint64 toSecsSinceEpoch() const const
Compact
QByteArray toJson(JsonFormat format) const const
This file is part of the KDE documentation.
Documentation copyright © 1996-2025 The KDE developers.
Generated on Fri Apr 25 2025 12:05:39 by doxygen 1.13.2 written by Dimitri van Heesch, © 1997-2006
Documentation copyright © 1996-2025 The KDE developers.
Generated on Fri Apr 25 2025 12:05:39 by doxygen 1.13.2 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.