AusweisApp
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 QSharedPointer<EC_KEY> mTerminalKey;
26
27 QSharedPointer<EC_POINT> createNewGenerator(const QSharedPointer<const EC_POINT>& pCardPubKey, const QSharedPointer<const BIGNUM>& pS);
28
29 bool setGenerator(const QSharedPointer<const EC_POINT>& pNewGenerator) const;
30
31 public:
32 explicit EcdhGenericMapping(const QSharedPointer<EC_GROUP>& pCurve);
33
34 [[nodiscard]] const QSharedPointer<EC_GROUP>& getCurve() const;
35
40 QByteArray generateTerminalMappingData();
41
48 bool generateEphemeralDomainParameters(const QByteArray& pCardMappingData, const QByteArray& pNonce);
49};
50
51} // 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:45
QByteArray generateTerminalMappingData()
Generates the terminal's mapping data, that will be sent to the card.
Definition: EcdhGenericMapping.cpp:30
Implementation of GeneralAuthenticate response APDUs.
Definition: CommandApdu.h:16