11#include <QSharedPointer>
12#include <openssl/ec.h>
14class test_EcdhKeyAgreement;
22 friend class ::test_EcdhKeyAgreement;
25 QSharedPointer<EcdhGenericMapping> mMapping;
26 QSharedPointer<EC_POINT> mTerminalPublicKey;
27 QSharedPointer<const EC_POINT> mCardPublicKey;
29 CardReturnCode determineEphemeralDomainParameters(
const QByteArray& pNonce);
33 QByteArray getUncompressedTerminalPublicKey()
override;
37 explicit EcdhKeyAgreement(
const QSharedPointer<const PaceInfo>& pPaceInfo,
38 const QSharedPointer<CardConnectionWorker>& pCardConnectionWorker,
39 const QSharedPointer<EcdhGenericMapping>& pMapping);
42 static QSharedPointer<EcdhKeyAgreement>
create(
const QSharedPointer<const PaceInfo>& pPaceInfo,
43 const QSharedPointer<CardConnectionWorker>& pCardConnectionWorker);
static QByteArray encodeUncompressedPublicKey(const Oid &pOid, const QByteArray &pKey)
Definition EcdhKeyAgreement.cpp:155
static QSharedPointer< EcdhKeyAgreement > create(const QSharedPointer< const PaceInfo > &pPaceInfo, const QSharedPointer< CardConnectionWorker > &pCardConnectionWorker)
Definition EcdhKeyAgreement.cpp:33
KeyAgreement(const QSharedPointer< const PaceInfo > &pPaceInfo, const QSharedPointer< CardConnectionWorker > &pCardConnectionWorker)
Definition KeyAgreement.cpp:72
virtual QByteArray getUncompressedCardPublicKey()=0
Returns the uncompressed card's ephemeral public key calculated during key agreement.
virtual QByteArray getCompressedCardPublicKey()=0
Returns the compressed card's ephemeral public key calculated during key agreement.
Defines the AccessRight and AccessRole enum.
Definition CommandApdu.h:17
Definition KeyAgreement.h:30