AusweisApp2
EcdhGenericMapping.h
gehe zur Dokumentation dieser Datei
1 
5 #pragma once
6 
8 
9 #include <openssl/ec.h>
10 #include <QByteArray>
11 #include <QSharedPointer>
12 
13 namespace governikus
14 {
15 
16 //
17 // Algorithm according to TR 03110 Part 3 chapter A.3.4.1.Generic Mapping
18 //
20  : public DomainParameterMapping<EC_GROUP>
21 {
22  private:
23  const QSharedPointer<EC_GROUP> mCurve;
24  QSharedPointer<EC_KEY> mTerminalKey;
25 
26  QSharedPointer<EC_POINT> createNewGenerator(const QSharedPointer<const EC_POINT>& pCardPubKey, const QSharedPointer<const BIGNUM>& pS);
27 
28  void setGenerator(const QSharedPointer<const EC_POINT>& pNewGenerator);
29 
30  public:
31  explicit EcdhGenericMapping(const QSharedPointer<EC_GROUP>& pCurve);
32  virtual ~EcdhGenericMapping() override = default;
33 
34  QByteArray generateTerminalMappingData() override;
35 
36  QSharedPointer<EC_GROUP> generateEphemeralDomainParameters(const QByteArray& pCardMappingData, const QByteArray& pNonce) override;
37 };
38 
39 } // namespace governikus
Definition: DomainParameterMapping.h:17
Definition: EcdhGenericMapping.h:21
QByteArray generateTerminalMappingData() override
Generates the terminal's mapping data, that will be send to the card.
Definition: EcdhGenericMapping.cpp:27
QSharedPointer< EC_GROUP > generateEphemeralDomainParameters(const QByteArray &pCardMappingData, const QByteArray &pNonce) override
Generates the ephemeral domain parameters.
Definition: EcdhGenericMapping.cpp:45
virtual ~EcdhGenericMapping() override=default
EcdhGenericMapping(const QSharedPointer< EC_GROUP > &pCurve)
Definition: EcdhGenericMapping.cpp:19
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15