11#include <openssl/evp.h>
12#include <openssl/x509.h>
15#include <QSharedPointer>
16#include <QSslCertificate>
26 const QSslCertificate mCertificate;
29 KeyPair(
const QSslKey& pKey,
const QSslCertificate& pCert);
31 static QByteArray rewriteCertificate(X509* pX509);
32 static QSharedPointer<X509> createCertificate(EVP_PKEY* pPkey,
const QSharedPointer<EVP_PKEY>& pSignerKey =
nullptr,
const QSharedPointer<X509>& pSignerCert =
nullptr);
33 static EVP_PKEY*
createKey(
int pKeyCtxNid,
const std::function<
bool(EVP_PKEY_CTX*)>& pFunc);
34 static QSharedPointer<EVP_PKEY> parseKey(
const QByteArray& pData);
35 static QSharedPointer<X509> parseCertificate(
const QByteArray& pData);
36 static KeyPair generatePair(EVP_PKEY* pKey,
const QByteArray& pSignerKey,
const QByteArray& pSignerCert);
39 static KeyPair generate(
const char* pCurve,
const QByteArray& pSignerKey = QByteArray(),
const QByteArray& pSignerCert = QByteArray());
40 static KeyPair generate(
int pKeySize = 2048,
const QByteArray& pSignerKey = QByteArray(),
const QByteArray& pSignerCert = QByteArray());
42 [[nodiscard]]
const QSslKey&
getKey()
const;
44 [[nodiscard]]
bool isValid()
const;
const QSslKey & getKey() const
Definition KeyPair.cpp:103
static KeyPair generate(const char *pCurve, const QByteArray &pSignerKey=QByteArray(), const QByteArray &pSignerCert=QByteArray())
Definition KeyPair.cpp:80
bool isValid() const
Definition KeyPair.cpp:236
const QSslCertificate & getCertificate() const
Definition KeyPair.cpp:109
Implementation of GeneralAuthenticate response APDUs.
Definition CommandApdu.h:16
QSharedPointer< EVP_PKEY > createKey() const