diff --git a/src/Qt-RSA/qrsaencryption.cpp b/src/Qt-RSA/qrsaencryption.cpp index d2e43cb..cf55d8f 100644 --- a/src/Qt-RSA/qrsaencryption.cpp +++ b/src/Qt-RSA/qrsaencryption.cpp @@ -292,8 +292,8 @@ QByteArray decodeArray(const QByteArray &rawData, const QByteArray &privKey) { QRSAEncryption::QRSAEncryption() { } -unsigned int QRSAEncryption::getBytesSize(QRSAEncryption::Rsa rsa) { - return rsa / 8; +unsigned int QRSAEncryption::getKeyBytesSize(QRSAEncryption::Rsa rsa) { + return rsa / 4; } // --- static methods --- @@ -423,3 +423,7 @@ bool QRSAEncryption::testKeyPair(const QByteArray &pubKey, const QByteArray &pri return result; } + +bool QRSAEncryption::isValidRsaKey(const QByteArray &key) { + return key.size() && key.size() % RSA_64 == 0; +} diff --git a/src/Qt-RSA/qrsaencryption.h b/src/Qt-RSA/qrsaencryption.h index 0beef87..b78ac70 100644 --- a/src/Qt-RSA/qrsaencryption.h +++ b/src/Qt-RSA/qrsaencryption.h @@ -34,7 +34,7 @@ public: QRSAEncryption(); - unsigned int getBytesSize(QRSAEncryption::Rsa rsa); + // static methods static bool generatePairKeyS(QByteArray &pubKey, QByteArray &privKey, @@ -43,6 +43,8 @@ public: static QByteArray decodeS(const QByteArray &rawData, const QByteArray &privKey); static QByteArray signMessageS(QByteArray rawData, const QByteArray &privKey); static bool checkSignMessageS(const QByteArray &rawData, const QByteArray &pubKey); + static bool isValidRsaKey(const QByteArray& key); + static unsigned int getKeyBytesSize(QRSAEncryption::Rsa rsa); // non-static methods bool generatePairKey(QByteArray &pubKey, QByteArray &privKey, @@ -52,6 +54,7 @@ public: QByteArray signMessage(QByteArray rawData, const QByteArray &privKey); bool checkSignMessage(const QByteArray &rawData, const QByteArray &pubKey); + private: bool testKeyPair(const QByteArray &pubKey, const QByteArray &privKey); };