12 #include <openssl/ec.h>
13 #include <QSharedPointer>
15 class test_EcdhKeyAgreement;
24 friend class ::test_EcdhKeyAgreement;
26 QSharedPointer<DomainParameterMapping<EC_GROUP> > mMapping;
27 QSharedPointer<EC_GROUP> mEphemeralCurve;
28 QSharedPointer<EC_POINT> mTerminalPublicKey;
29 QSharedPointer<EC_POINT> mCardPublicKey;
34 static QByteArray encodeUncompressedPublicKey(
const QSharedPointer<const PACEInfo>& pPaceInfo,
const QSharedPointer<const EC_GROUP>& pCurve,
const QSharedPointer<const EC_POINT>& pPoint);
35 static QByteArray encodeCompressedPublicKey(
const QSharedPointer<const EC_GROUP>& pCurve,
const QSharedPointer<const EC_POINT>& pPoint);
38 QByteArray getUncompressedTerminalPublicKey()
override;
39 QByteArray getUncompressedCardPublicKey()
override;
40 QByteArray getCompressedCardPublicKey()
override;
42 EcdhKeyAgreement(
const QSharedPointer<const PACEInfo>& pPaceInfo,
const QSharedPointer<CardConnectionWorker>& pCardConnectionWorker);
45 static QSharedPointer<KeyAgreement>
create(
const QSharedPointer<const PACEInfo>& pPaceInfo,
46 const QSharedPointer<CardConnectionWorker>& pCardConnectionWorker);
Definition: KeyAgreement.h:32
static QSharedPointer< KeyAgreement > create(const QSharedPointer< const PACEInfo > &pPaceInfo, const QSharedPointer< CardConnectionWorker > &pCardConnectionWorker)
Definition: EcdhKeyAgreement.cpp:55
virtual ~EcdhKeyAgreement() override
Definition: EcdhKeyAgreement.cpp:78
Definition: EcdhKeyAgreement.h:20
Definition: CardOperationResult.h:14