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 KeyAgreement::CardResult determineSharedSecret(const QByteArray& pNonce) override;
33 QByteArray getUncompressedTerminalPublicKey() override;
34 QByteArray getUncompressedCardPublicKey() override;
35 QByteArray getCompressedCardPublicKey() override;
36
37 explicit EcdhKeyAgreement(const QSharedPointer<const PaceInfo>& pPaceInfo,
40
41 public:
42 static QSharedPointer<EcdhKeyAgreement> create(const QSharedPointer<const PaceInfo>& pPaceInfo,
44
46};
47
48} // namespace governikus
Definition EcdhKeyAgreement.h:21
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
Definition KeyAgreement.h:30
Implementation of GeneralAuthenticate response APDUs.
Definition CommandApdu.h:17
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