AusweisApp
Lade ...
Suche ...
Keine Treffer
EcdhKeyAgreement.h
gehe zur Dokumentation dieser Datei
1
5#pragma once
6
9#include "pace/KeyAgreement.h"
10
11#include <QSharedPointer>
12#include <openssl/ec.h>
13
14class test_EcdhKeyAgreement;
15
16namespace governikus
17{
18
20 : public KeyAgreement
21{
22 friend class ::test_EcdhKeyAgreement;
23
24 private:
26 QSharedPointer<EC_POINT> mTerminalPublicKey;
27 QSharedPointer<const EC_POINT> mCardPublicKey;
28
29 CardReturnCode determineEphemeralDomainParameters(const QByteArray& pNonce);
30 CardResult performKeyExchange();
31
32 static QByteArray encodeUncompressedPublicKey(const QSharedPointer<const PaceInfo>& pPaceInfo, const QSharedPointer<const EC_GROUP>& pCurve, const QSharedPointer<const EC_POINT>& pPoint);
33
34 KeyAgreement::CardResult determineSharedSecret(const QByteArray& pNonce) override;
35 QByteArray getUncompressedTerminalPublicKey() override;
36 QByteArray getUncompressedCardPublicKey() override;
37 QByteArray getCompressedCardPublicKey() override;
38
39 explicit EcdhKeyAgreement(const QSharedPointer<const PaceInfo>& pPaceInfo,
42
43 public:
44 static QSharedPointer<EcdhKeyAgreement> create(const QSharedPointer<const PaceInfo>& pPaceInfo,
46};
47
48} // namespace governikus
Definition EcdhKeyAgreement.h:21
static QSharedPointer< EcdhKeyAgreement > create(const QSharedPointer< const PaceInfo > &pPaceInfo, const QSharedPointer< CardConnectionWorker > &pCardConnectionWorker)
Definition EcdhKeyAgreement.cpp:42
Definition KeyAgreement.h:30
Implementation of GeneralAuthenticate response APDUs.
Definition CommandApdu.h:16
QSharedPointer< T > decodeObject(const QByteArray &pData, bool pLogging=true)
Template function for decoding an OpenSSL type from DER encoded QByteArray.
Definition ASN1TemplateUtil.h:114
Definition KeyAgreement.h:33