AusweisApp2
KeyPair.h
gehe zur Dokumentation dieser Datei
1/*
2 * \brief Generates a new private/public key with an X509 certificate.
3 *
4 * \copyright Copyright (c) 2017-2022 Governikus GmbH & Co. KG, Germany
5 */
6
7#pragma once
8
9#include <openssl/evp.h>
10#include <openssl/x509.h>
11
12#include <QByteArray>
13#include <QSharedPointer>
14#include <QSslCertificate>
15#include <QSslKey>
16
17namespace governikus
18{
19
21{
22 private:
23 const QSslKey mKey;
24 const QSslCertificate mCertificate;
25
26 KeyPair() = default;
27 KeyPair(const QSslKey& pKey, const QSslCertificate& pCert);
28
29 static QByteArray rewriteCertificate(X509* pX509);
30 static QSharedPointer<X509> createCertificate(EVP_PKEY* pPkey);
31 static EVP_PKEY* createKey();
32
33 public:
34 static KeyPair generate();
35
36 [[nodiscard]] const QSslKey& getKey() const;
37 [[nodiscard]] const QSslCertificate& getCertificate() const;
38 [[nodiscard]] bool isValid() const;
39};
40
41
42} // namespace governikus
Definition: KeyPair.h:21
const QSslKey & getKey() const
Definition: KeyPair.cpp:86
static KeyPair generate()
Definition: KeyPair.cpp:61
bool isValid() const
Definition: KeyPair.cpp:187
const QSslCertificate & getCertificate() const
Definition: KeyPair.cpp:92
A simple template renderer.
Definition: ActivationContext.h:15