AusweisApp
Lade ...
Suche ...
Keine Treffer
DidAuthenticateEAC2Command.h
gehe zur Dokumentation dieser Datei
1
9#pragma once
10
11#include "BaseCardCommand.h"
13
14class test_CardConnection;
15class test_DidAuthenticateEAC2Command;
16
17namespace governikus
18{
19
21 : public BaseCardCommand
22{
23 Q_OBJECT
24 friend class ::test_CardConnection;
25 friend class ::test_DidAuthenticateEAC2Command;
26
27 private:
28 CVCertificateChain mCvcChain;
29 QByteArray mEphemeralPublicKeyAsHex;
30 QByteArray mSignatureAsHex;
31 QByteArray mAuthenticatedAuxiliaryDataAsBinary;
32 QByteArray mPin;
33 QByteArray mEfCardSecurityAsHex;
34 QByteArray mNonceAsHex;
35 QByteArray mAuthTokenAsHex;
36
37 CardReturnCode putCertificateChain(const CVCertificateChain& pCvcChain);
38 CardReturnCode performTerminalAuthentication(const Oid& pTaProtocol,
39 const QByteArray& pChr,
40 const QByteArray& pAuxiliaryData,
41 const QByteArray& pCompressedEphemeralPublicKey,
42 const QByteArray& pSignature);
43 CardReturnCode performChipAuthentication(QSharedPointer<const ChipAuthenticationInfo> pChipAuthInfo,
44 const QByteArray& pEphemeralPublicKey);
45
46 void internalExecuteSoftwareSmartCard();
47
48 protected:
49 void internalExecute() override;
50 ~DidAuthenticateEAC2Command() override = default;
51
52 public:
53 explicit DidAuthenticateEAC2Command(QSharedPointer<CardConnectionWorker> pCardConnectionWorker,
54 const CVCertificateChain& pCvcChain, const QByteArray& pEphemeralPublicKeyAsHex,
55 const QByteArray& pSignatureAsHex, const QByteArray& pAuthenticatedAuxiliaryDataAsBinary,
56 const QByteArray& pPin);
57
58
59 [[nodiscard]] const QByteArray& getEfCardSecurityAsHex() const
60 {
61 return mEfCardSecurityAsHex;
62 }
63
64
65 [[nodiscard]] const QByteArray& getNonceAsHex() const
66 {
67 return mNonceAsHex;
68 }
69
70
71 [[nodiscard]] const QByteArray& getAuthTokenAsHex() const
72 {
73 return mAuthTokenAsHex;
74 }
75
76
77};
78
79} // namespace governikus
Definition: BaseCardCommand.h:23
Definition: CVCertificateChain.h:24
Definition: DidAuthenticateEAC2Command.h:22
const QByteArray & getAuthTokenAsHex() const
Definition: DidAuthenticateEAC2Command.h:71
void internalExecute() override
Definition: DidAuthenticateEAC2Command.cpp:69
~DidAuthenticateEAC2Command() override=default
const QByteArray & getNonceAsHex() const
Definition: DidAuthenticateEAC2Command.h:65
const QByteArray & getEfCardSecurityAsHex() const
Definition: DidAuthenticateEAC2Command.h:59
Implementation of GeneralAuthenticate response APDUs.
Definition: CommandApdu.h:16