AusweisApp2
DidAuthenticateEAC2Command.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
9 #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  friend class ::test_CardConnection;
23  friend class ::test_DidAuthenticateEAC2Command;
24 
25  private:
26  CVCertificateChain mCvcChain;
27  QByteArray mEphemeralPublicKeyAsHex;
28  QByteArray mSignatureAsHex;
29  QByteArray mAuthenticatedAuxiliaryDataAsBinary;
30  QByteArray mPin;
31  QByteArray mEfCardSecurityAsHex;
32  QByteArray mNonceAsHex;
33  QByteArray mAuthTokenAsHex;
34 
35  CardReturnCode putCertificateChain(const CVCertificateChain& pCvcChain);
36  CardReturnCode performTerminalAuthentication(const Oid& pTaProtocol,
37  const QByteArray& pChr,
38  const QByteArray& pAuxiliaryData,
39  const QByteArray& pCompressedEphemeralPublicKey,
40  const QByteArray& pSignature);
41  CardReturnCode performChipAuthentication(QSharedPointer<const ChipAuthenticationInfo> pChipAuthInfo,
42  const QByteArray& pEphemeralPublicKey);
43 
44  void internalExecuteSoftwareSmartCard();
45 
46  protected:
47  void internalExecute() override;
48  ~DidAuthenticateEAC2Command() override = default;
49 
50  public:
51  explicit DidAuthenticateEAC2Command(QSharedPointer<CardConnectionWorker> pCardConnectionWorker,
52  const CVCertificateChain& pCvcChain, const QByteArray& pEphemeralPublicKeyAsHex,
53  const QByteArray& pSignatureAsHex, const QByteArray& pAuthenticatedAuxiliaryDataAsBinary,
54  const QByteArray& pPin);
55 
56 
57  [[nodiscard]] const QByteArray& getEfCardSecurityAsHex() const
58  {
59  return mEfCardSecurityAsHex;
60  }
61 
62 
63  [[nodiscard]] const QByteArray& getNonceAsHex() const
64  {
65  return mNonceAsHex;
66  }
67 
68 
69  [[nodiscard]] const QByteArray& getAuthTokenAsHex() const
70  {
71  return mAuthTokenAsHex;
72  }
73 
74 
75 };
76 
77 } // namespace governikus
Definition: BaseCardCommand.h:21
Definition: CVCertificateChain.h:22
Definition: DidAuthenticateEAC2Command.h:20
const QByteArray & getNonceAsHex() const
Definition: DidAuthenticateEAC2Command.h:63
const QByteArray & getAuthTokenAsHex() const
Definition: DidAuthenticateEAC2Command.h:69
void internalExecute() override
Definition: DidAuthenticateEAC2Command.cpp:69
~DidAuthenticateEAC2Command() override=default
const QByteArray & getEfCardSecurityAsHex() const
Definition: DidAuthenticateEAC2Command.h:57
DidAuthenticateEAC2Command(QSharedPointer< CardConnectionWorker > pCardConnectionWorker, const CVCertificateChain &pCvcChain, const QByteArray &pEphemeralPublicKeyAsHex, const QByteArray &pSignatureAsHex, const QByteArray &pAuthenticatedAuxiliaryDataAsBinary, const QByteArray &pPin)
Definition: DidAuthenticateEAC2Command.cpp:23
A simple template renderer.
Definition: ActivationContext.h:15