AusweisApp2
DidAuthenticateEAC2Command.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
10 #include "BaseCardCommand.h"
11 
12 class test_CardConnection;
13 class test_DidAuthenticateEAC2Command;
14 
15 namespace governikus
16 {
17 
19  : public BaseCardCommand
20 {
21  Q_OBJECT
22 
23  private:
24  friend class ::test_CardConnection;
25  friend class ::test_DidAuthenticateEAC2Command;
26  CVCertificateChain mCvcChain;
27  QByteArray mEphemeralPublicKeyAsHex;
28  QByteArray mSignatureAsHex;
29  QByteArray mAuthenticatedAuxiliaryDataAsBinary;
30  QByteArray mEfCardSecurityAsHex;
31  QByteArray mNonceAsHex;
32  QByteArray mAuthTokenAsHex;
33 
34  CardReturnCode putCertificateChain(const CVCertificateChain& pCvcChain);
35  CardReturnCode performTerminalAuthentication(const QByteArray& taProtocol,
36  const QByteArray& chr,
37  const QByteArray& auxiliaryData,
38  const QByteArray& compressedEphemeralPublicKey,
39  const QByteArray& signature);
40  CardReturnCode performChipAuthentication(QSharedPointer<const ChipAuthenticationInfo> pChipAuthInfo,
41  const QByteArray& ephemeralPublicKey);
42 
43  protected:
44  void internalExecute() override;
45  ~DidAuthenticateEAC2Command() override = default;
46 
47  public:
48  explicit DidAuthenticateEAC2Command(QSharedPointer<CardConnectionWorker> pCardConnectionWorker,
49  const CVCertificateChain& pCvcChain, const QByteArray& pEphemeralPublicKeyAsHex,
50  const QByteArray& pSignatureAsHex, const QByteArray& pAuthenticatedAuxiliaryDataAsBinary);
51 
52 
53  [[nodiscard]] const QByteArray& getEfCardSecurityAsHex() const
54  {
55  return mEfCardSecurityAsHex;
56  }
57 
58 
59  [[nodiscard]] const QByteArray& getNonceAsHex() const
60  {
61  return mNonceAsHex;
62  }
63 
64 
65  [[nodiscard]] const QByteArray& getAuthTokenAsHex() const
66  {
67  return mAuthTokenAsHex;
68  }
69 
70 
71 };
72 
73 } // namespace governikus
Definition: DidAuthenticateEAC2Command.h:18
const QByteArray & getNonceAsHex() const
Definition: DidAuthenticateEAC2Command.h:59
Definition: CVCertificateChain.h:20
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:14
const QByteArray & getAuthTokenAsHex() const
Definition: DidAuthenticateEAC2Command.h:65
~DidAuthenticateEAC2Command() override=default
void internalExecute() override
Definition: DidAuthenticateEAC2Command.cpp:41
Definition: BaseCardCommand.h:19
DidAuthenticateEAC2Command(QSharedPointer< CardConnectionWorker > pCardConnectionWorker, const CVCertificateChain &pCvcChain, const QByteArray &pEphemeralPublicKeyAsHex, const QByteArray &pSignatureAsHex, const QByteArray &pAuthenticatedAuxiliaryDataAsBinary)
Definition: DidAuthenticateEAC2Command.cpp:26
const QByteArray & getEfCardSecurityAsHex() const
Definition: DidAuthenticateEAC2Command.h:53