easyssl/README.md
EndrII f31b11e03b
Some checks failed
buildbot/DocsGenerator Build finished.
buildbot/AndroidBuilder_v8Qt6 Build finished.
buildbot/LinuxCMakeBuilderQt6 Build finished.
buildbot/WindowsCMakeBuilder Build finished.
buildbot/IOSCMakeBuilder Build finished.
fix documentation
2023-07-17 23:07:28 +02:00

2.1 KiB

EasySSL

This is wrapper library that make using OpenSSL library more simple. This library contains interfaces for the signing and encription data.

Supported encription alhorithms:

  • ECDSA
  • RSA

Supported features

  • encription
  • signing
  • keys creating
  • asyn auth bse on the asyn encriptions methods

Build and Include

  • cd yourRepo

  • git submodule add https://github.com/QuasarApp/easyssl.git # add the repository of Heart 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

Encription

#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 encriptedMsg = crypto.encrypt(message, pub);
    auto decryptedMsg = crypto.decrypt(encriptedMsg, 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