easyssl 0.50.142aaef
EasySSL is base back end library for your c++ Qt projects.
ecdsassl.h
Go to the documentation of this file.
1//#
2//# Copyright (C) 2021-2025 QuasarApp.
3//# Distributed under the GPLv3 software license, see the accompanying
4//# Everyone is permitted to copy and distribute verbatim copies
5//# of this license document, but changing it is not allowed.
6//#
7
8
9#ifndef QH_ECDSA_SSL_1_1_H
10#define QH_ECDSA_SSL_1_1_H
11
12#include "global.h"
13#include "icrypto.h"
14
15namespace EasySSL {
16
21{
25 enum EllipticCurveStandart {
27 P_256,
29 P_384,
31 P_521,
33 X448,
35 X25519
36 };
37
38public:
39 ECDSASSL(EllipticCurveStandart curveStandart = EllipticCurveStandart::P_256);
40 Features supportedFeatures() const override;
41 QSsl::KeyAlgorithm keyAlgorithm() const override;
42
43 QByteArray signMessage(const QByteArray &inputData, const QByteArray &key) const override;
44 bool checkSign(const QByteArray &inputData, const QByteArray &signature, const QByteArray &key) const override;
45
50 QByteArray decrypt(const QByteArray &message, const QByteArray &key) override;
51
56 QByteArray encrypt(const QByteArray &message, const QByteArray &key) override;
57
63 EllipticCurveStandart curve() const;
64
69 void setCurve(EllipticCurveStandart newCurve);
70
71 void * makeRawKeys() const override;
72
73private:
74 const char *getCStr(EllipticCurveStandart value) const;
75 EllipticCurveStandart _curve = EllipticCurveStandart::P_256;
76};
77
78}
79
80#endif // QH_ECDSA_SSL_1_1_H
The ECDSASSL class is ecdsa implementation of the Async authentication. This implementation based on ...
Definition ecdsassl.h:21
The ICrypto class, This is base interface that provide encryption functionality.
Definition icrypto.h:22
Features
The Features enum this is list of the supported description features.
Definition icrypto.h:29
#define EASYSSL_EXPORT
Definition global.h:18