mirror of
https://github.com/QuasarApp/easyssl.git
synced 2025-04-26 13:04:32 +00:00
All checks were successful
buildbot/WindowsCMakeBuilder Build finished.
Probably due to a copy-paste from https://github.com/QuasarApp/Heart
2.1 KiB
2.1 KiB
EasySSL
This is wrapper library that make using OpenSSL library more simple. This library contains interfaces for the signing and encryption data.
Supported encryption algorithms:
- ECDSA
- RSA
Supported features
- encryption
- signing
- keys creating
- asyn auth bse on the asyn encryptions methods
Build and Include
-
cd yourRepo
-
git submodule add https://github.com/QuasarApp/easyssl.git # add the repository of EasySSL into your repo like submodule
-
git submodule update --init --recursive
-
Include in your CMakeLists.txt file the main CMakeLists.txt file of Heart library
add_subdirectory(easyssl)
-
link the Heart library to your target
target_link_libraries(yourLib PUBLIC easyssl)
-
rebuild yuor project
Usage
Encryption
#include "easyssl/rsassl.h"
// create a publick and private keys array.
int main() {
QByteArray pub, priv;
EasySSL::RSASSL crypto;
crypto.makeKeys(pub, priv)
auto siganture = crypto.signMessage(message, priv);
crypto.checkSign(message, siganture, pub);
auto encryptedMsg = crypto.encrypt(message, pub);
auto decryptedMsg = crypto.decrypt(encryptedMsg, priv);
}
Authentication
#include <easyssl/authecdsa.h>
class ECDSA: public EasySSL::AuthECDSA {
public:
// AsyncKeysAuth interface
void setPrivateKey(const QByteArray &newPriv) {
_priv = newPriv;
}
QByteArray getPrivateKey() const {
return _priv;
};
private:
QByteArray _priv;
};
ECDSA edsa;
QByteArray pub, priv;
QString userID;
// make public and private keys.
edsa.makeKeys(pub, priv);
edsa.setPrivateKey(priv);
edsa.setPublicKey(pub);
// prepare an authentication object.
edsa.prepare();
edsa.setPrivateKey({});
edsa.auth(1000, &userID)
Do not forget to help us make this library better...
See our main documentation about contributing to EasySsl
Full documentation available here