AusweisApp2
Lade ...
Suche ...
Keine Treffer
EcdhGenericMapping.h
gehe zur Dokumentation dieser Datei
1
5#pragma once
6
7#include <QByteArray>
8#include <QSharedPointer>
9#include <openssl/ec.h>
10
11class test_EcdhGenericMapping;
12
13namespace governikus
14{
15
20{
21 friend class ::test_EcdhGenericMapping;
22
23 private:
24 const QSharedPointer<EC_GROUP> mCurve;
25#if OPENSSL_VERSION_NUMBER >= 0x30000000L
26 QSharedPointer<EVP_PKEY> mTerminalKey;
27#else
28 QSharedPointer<EC_KEY> mTerminalKey;
29#endif
30
31 QSharedPointer<EC_POINT> createNewGenerator(const QSharedPointer<const EC_POINT>& pCardPubKey, const QSharedPointer<const BIGNUM>& pS);
32
33 bool setGenerator(const QSharedPointer<const EC_POINT>& pNewGenerator);
34
35 public:
36 explicit EcdhGenericMapping(const QSharedPointer<EC_GROUP>& pCurve);
37
38 [[nodiscard]] const QSharedPointer<EC_GROUP>& getCurve() const;
39
44 QByteArray generateTerminalMappingData();
45
52 bool generateEphemeralDomainParameters(const QByteArray& pCardMappingData, const QByteArray& pNonce);
53};
54
55} // namespace governikus
Algorithm according to TR 03110 Part 3 chapter A.3.4.1.Generic Mapping.
Definition: EcdhGenericMapping.h:20
const QSharedPointer< EC_GROUP > & getCurve() const
Definition: EcdhGenericMapping.cpp:24
bool generateEphemeralDomainParameters(const QByteArray &pCardMappingData, const QByteArray &pNonce)
Generates the ephemeral domain parameters.
Definition: EcdhGenericMapping.cpp:50
QByteArray generateTerminalMappingData()
Generates the terminal's mapping data, that will be sent to the card.
Definition: EcdhGenericMapping.cpp:30
A simple template renderer.
Definition: ActivationContext.h:15