mirror of
https://github.com/moonlight-stream/moonlight-qt.git
synced 2026-06-16 21:51:17 +00:00
Address const-correctness issues in NvPairingManager
This commit is contained in:
@@ -53,13 +53,13 @@ NvPairingManager::generateRandomBytes(int length)
|
|||||||
}
|
}
|
||||||
|
|
||||||
QByteArray
|
QByteArray
|
||||||
NvPairingManager::encrypt(QByteArray plaintext, AES_KEY* key)
|
NvPairingManager::encrypt(const QByteArray& plaintext, AES_KEY* key)
|
||||||
{
|
{
|
||||||
QByteArray ciphertext(plaintext.size(), 0);
|
QByteArray ciphertext(plaintext.size(), 0);
|
||||||
|
|
||||||
for (int i = 0; i < plaintext.size(); i += 16)
|
for (int i = 0; i < plaintext.size(); i += 16)
|
||||||
{
|
{
|
||||||
AES_encrypt(reinterpret_cast<unsigned char*>(&plaintext.data()[i]),
|
AES_encrypt(reinterpret_cast<unsigned char*>(const_cast<char*>(&plaintext.data()[i])),
|
||||||
reinterpret_cast<unsigned char*>(&ciphertext.data()[i]),
|
reinterpret_cast<unsigned char*>(&ciphertext.data()[i]),
|
||||||
key);
|
key);
|
||||||
}
|
}
|
||||||
@@ -68,13 +68,13 @@ NvPairingManager::encrypt(QByteArray plaintext, AES_KEY* key)
|
|||||||
}
|
}
|
||||||
|
|
||||||
QByteArray
|
QByteArray
|
||||||
NvPairingManager::decrypt(QByteArray ciphertext, AES_KEY* key)
|
NvPairingManager::decrypt(const QByteArray& ciphertext, AES_KEY* key)
|
||||||
{
|
{
|
||||||
QByteArray plaintext(ciphertext.size(), 0);
|
QByteArray plaintext(ciphertext.size(), 0);
|
||||||
|
|
||||||
for (int i = 0; i < plaintext.size(); i += 16)
|
for (int i = 0; i < plaintext.size(); i += 16)
|
||||||
{
|
{
|
||||||
AES_decrypt(reinterpret_cast<unsigned char*>(&ciphertext.data()[i]),
|
AES_decrypt(reinterpret_cast<unsigned char*>(const_cast<char*>(&ciphertext.data()[i])),
|
||||||
reinterpret_cast<unsigned char*>(&plaintext.data()[i]),
|
reinterpret_cast<unsigned char*>(&plaintext.data()[i]),
|
||||||
key);
|
key);
|
||||||
}
|
}
|
||||||
@@ -83,7 +83,7 @@ NvPairingManager::decrypt(QByteArray ciphertext, AES_KEY* key)
|
|||||||
}
|
}
|
||||||
|
|
||||||
QByteArray
|
QByteArray
|
||||||
NvPairingManager::getSignatureFromPemCert(QByteArray certificate)
|
NvPairingManager::getSignatureFromPemCert(const QByteArray& certificate)
|
||||||
{
|
{
|
||||||
BIO* bio = BIO_new_mem_buf(certificate.data(), -1);
|
BIO* bio = BIO_new_mem_buf(certificate.data(), -1);
|
||||||
THROW_BAD_ALLOC_IF_NULL(bio);
|
THROW_BAD_ALLOC_IF_NULL(bio);
|
||||||
@@ -109,7 +109,7 @@ NvPairingManager::getSignatureFromPemCert(QByteArray certificate)
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
NvPairingManager::verifySignature(QByteArray data, QByteArray signature, QByteArray serverCertificate)
|
NvPairingManager::verifySignature(const QByteArray& data, const QByteArray& signature, const QByteArray& serverCertificate)
|
||||||
{
|
{
|
||||||
BIO* bio = BIO_new_mem_buf(serverCertificate.data(), -1);
|
BIO* bio = BIO_new_mem_buf(serverCertificate.data(), -1);
|
||||||
THROW_BAD_ALLOC_IF_NULL(bio);
|
THROW_BAD_ALLOC_IF_NULL(bio);
|
||||||
@@ -125,7 +125,7 @@ NvPairingManager::verifySignature(QByteArray data, QByteArray signature, QByteAr
|
|||||||
|
|
||||||
EVP_DigestVerifyInit(mdctx, nullptr, EVP_sha256(), nullptr, pubKey);
|
EVP_DigestVerifyInit(mdctx, nullptr, EVP_sha256(), nullptr, pubKey);
|
||||||
EVP_DigestVerifyUpdate(mdctx, data.data(), data.length());
|
EVP_DigestVerifyUpdate(mdctx, data.data(), data.length());
|
||||||
int result = EVP_DigestVerifyFinal(mdctx, reinterpret_cast<unsigned char*>(signature.data()), signature.length());
|
int result = EVP_DigestVerifyFinal(mdctx, reinterpret_cast<unsigned char*>(const_cast<char*>(signature.data())), signature.length());
|
||||||
|
|
||||||
EVP_PKEY_free(pubKey);
|
EVP_PKEY_free(pubKey);
|
||||||
EVP_MD_CTX_destroy(mdctx);
|
EVP_MD_CTX_destroy(mdctx);
|
||||||
@@ -135,7 +135,7 @@ NvPairingManager::verifySignature(QByteArray data, QByteArray signature, QByteAr
|
|||||||
}
|
}
|
||||||
|
|
||||||
QByteArray
|
QByteArray
|
||||||
NvPairingManager::signMessage(QByteArray message)
|
NvPairingManager::signMessage(const QByteArray& message)
|
||||||
{
|
{
|
||||||
EVP_MD_CTX *ctx = EVP_MD_CTX_create();
|
EVP_MD_CTX *ctx = EVP_MD_CTX_create();
|
||||||
THROW_BAD_ALLOC_IF_NULL(ctx);
|
THROW_BAD_ALLOC_IF_NULL(ctx);
|
||||||
@@ -145,7 +145,7 @@ NvPairingManager::signMessage(QByteArray message)
|
|||||||
|
|
||||||
EVP_DigestInit_ex(ctx, md, NULL);
|
EVP_DigestInit_ex(ctx, md, NULL);
|
||||||
EVP_DigestSignInit(ctx, NULL, md, NULL, m_PrivateKey);
|
EVP_DigestSignInit(ctx, NULL, md, NULL, m_PrivateKey);
|
||||||
EVP_DigestSignUpdate(ctx, reinterpret_cast<unsigned char*>(message.data()), message.length());
|
EVP_DigestSignUpdate(ctx, reinterpret_cast<unsigned char*>(const_cast<char*>(message.data())), message.length());
|
||||||
|
|
||||||
size_t signatureLength = 0;
|
size_t signatureLength = 0;
|
||||||
EVP_DigestSignFinal(ctx, NULL, &signatureLength);
|
EVP_DigestSignFinal(ctx, NULL, &signatureLength);
|
||||||
@@ -159,7 +159,7 @@ NvPairingManager::signMessage(QByteArray message)
|
|||||||
}
|
}
|
||||||
|
|
||||||
QByteArray
|
QByteArray
|
||||||
NvPairingManager::saltPin(QByteArray salt, QString pin)
|
NvPairingManager::saltPin(const QByteArray& salt, QString pin)
|
||||||
{
|
{
|
||||||
return QByteArray().append(salt).append(pin.toLatin1());
|
return QByteArray().append(salt).append(pin.toLatin1());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,22 +30,22 @@ private:
|
|||||||
generateRandomBytes(int length);
|
generateRandomBytes(int length);
|
||||||
|
|
||||||
QByteArray
|
QByteArray
|
||||||
saltPin(QByteArray salt, QString pin);
|
saltPin(const QByteArray& salt, QString pin);
|
||||||
|
|
||||||
QByteArray
|
QByteArray
|
||||||
encrypt(QByteArray plaintext, AES_KEY* key);
|
encrypt(const QByteArray& plaintext, AES_KEY* key);
|
||||||
|
|
||||||
QByteArray
|
QByteArray
|
||||||
decrypt(QByteArray ciphertext, AES_KEY* key);
|
decrypt(const QByteArray& ciphertext, AES_KEY* key);
|
||||||
|
|
||||||
QByteArray
|
QByteArray
|
||||||
getSignatureFromPemCert(QByteArray certificate);
|
getSignatureFromPemCert(const QByteArray& certificate);
|
||||||
|
|
||||||
bool
|
bool
|
||||||
verifySignature(QByteArray data, QByteArray signature, QByteArray serverCertificate);
|
verifySignature(const QByteArray& data, const QByteArray& signature, const QByteArray& serverCertificate);
|
||||||
|
|
||||||
QByteArray
|
QByteArray
|
||||||
signMessage(QByteArray message);
|
signMessage(const QByteArray& message);
|
||||||
|
|
||||||
NvHTTP m_Http;
|
NvHTTP m_Http;
|
||||||
X509* m_Cert;
|
X509* m_Cert;
|
||||||
|
|||||||
Reference in New Issue
Block a user