AusweisApp2
Lade ...
Suche ...
Keine Treffer
PaceHandler.h
gehe zur Dokumentation dieser Datei
1
7#pragma once
8
11#include "pace/KeyAgreement.h"
12
13#include <QByteArray>
14#include <QSharedPointer>
15
16class test_PaceHandler;
17
18namespace governikus
19{
20class PaceHandler final
21{
22 friend class ::test_PaceHandler;
23
24 private:
25 const QSharedPointer<CardConnectionWorker> mCardConnectionWorker;
26 QSharedPointer<KeyAgreement> mKeyAgreement;
27 QSharedPointer<const PaceInfo> mPaceInfo;
28 QByteArray mStatusMseSetAt;
29 QByteArray mIdIcc;
30 QByteArray mEncryptionKey;
31 QByteArray mMacKey;
32 QByteArray mChat;
33 QByteArray mCarCurr, mCarPrev;
34
38 [[nodiscard]] bool isSupportedProtocol(const QSharedPointer<const PaceInfo>& pPaceInfo) const;
39
45 bool initialize(const QSharedPointer<const EFCardAccess>& pEfCardAccess);
46
52 CardReturnCode transmitMSESetAT(PacePasswordId pPasswordId);
53
54 Q_DISABLE_COPY(PaceHandler)
55
56 public:
57 explicit PaceHandler(const QSharedPointer<CardConnectionWorker>& pCardConnectionWorker);
58
65 CardReturnCode establishPaceChannel(PacePasswordId pPasswordId, const QByteArray& pPassword);
66
70 void setChat(const QByteArray& pChat);
71
77 [[nodiscard]] const QByteArray& getEncryptionKey() const;
78
84 [[nodiscard]] const QByteArray& getMacKey() const;
85
91 [[nodiscard]] const QByteArray& getCarCurr() const;
92
98 [[nodiscard]] const QByteArray& getCarPrev() const;
99
104 [[nodiscard]] const QByteArray& getIdIcc() const;
105
106 [[nodiscard]] const QByteArray& getStatusMseSetAt() const;
107
112 [[nodiscard]] QByteArray getPaceProtocol() const;
113};
114
115} // namespace governikus
Definition: PaceHandler.h:21
void setChat(const QByteArray &pChat)
The certificate holder authorization template to be supplied to the card.
Definition: PaceHandler.cpp:177
const QByteArray & getIdIcc() const
The IDicc is the card's compressed ephemeral public key.
Definition: PaceHandler.cpp:207
const QByteArray & getMacKey() const
During PACE protocol a MAC key is determined.
Definition: PaceHandler.cpp:189
QByteArray getPaceProtocol() const
The used PACE protocol.
Definition: PaceHandler.cpp:34
const QByteArray & getCarCurr() const
During PACE protocol a certificate authority reference (CAR) may be determined.
Definition: PaceHandler.cpp:195
const QByteArray & getCarPrev() const
During PACE protocol a certificate authority reference (CAR) may be determined.
Definition: PaceHandler.cpp:201
const QByteArray & getEncryptionKey() const
During PACE protocol an encryption key is determined.
Definition: PaceHandler.cpp:183
const QByteArray & getStatusMseSetAt() const
Definition: PaceHandler.cpp:213
CardReturnCode establishPaceChannel(PacePasswordId pPasswordId, const QByteArray &pPassword)
Performs the PACE protocol and establishes a PACE channel.
Definition: PaceHandler.cpp:44
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15