more work

This commit is contained in:
Cameron Gutman
2018-04-28 22:14:27 -07:00
parent a38bef6bc4
commit a5d50cd4f0
8 changed files with 322 additions and 97 deletions
+29 -1
View File
@@ -1,7 +1,12 @@
#pragma once
#include <identitymanager.h>
#include <nvhttp.h>
#include <openssl/aes.h>
#include <openssl/x509.h>
#include <openssl/evp.h>
class NvPairingManager
{
public:
@@ -14,7 +19,9 @@ public:
ALREADY_IN_PROGRESS
};
NvPairingManager(QString address);
NvPairingManager(QString address, IdentityManager im);
~NvPairingManager();
QString
generatePinString();
@@ -23,5 +30,26 @@ public:
pair(QString serverInfo, QString pin);
private:
QByteArray
generateRandomBytes(int length);
QByteArray
saltPin(QByteArray salt, QString pin);
QByteArray
encrypt(QByteArray plaintext, AES_KEY* key);
QByteArray
decrypt(QByteArray ciphertext, AES_KEY* key);
bool
verifySignature(QByteArray data, QByteArray signature);
QByteArray
signMessage(QByteArray message);
NvHTTP m_Http;
IdentityManager m_Im;
X509* m_Cert;
EVP_PKEY* m_PrivateKey;
};