AusweisApp2
DidAuthenticateEAC2Command.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
10 #include "BaseCardCommand.h"
11 
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  QString mEphemeralPublicKeyAsHex;
28  QString 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  virtual void internalExecute() override;
45  virtual ~DidAuthenticateEAC2Command() override = default;
46 
47  public:
48  explicit DidAuthenticateEAC2Command(QSharedPointer<CardConnectionWorker> pCardConnectionWorker,
49  const CVCertificateChain& pCvcChain, const QString& pEphemeralPublicKeyAsHex,
50  const QString& pSignatureAsHex, const QByteArray& pAuthenticatedAuxiliaryDataAsBinary);
51 
52 
53  const QByteArray& getEfCardSecurityAsHex() const
54  {
55  return mEfCardSecurityAsHex;
56  }
57 
58 
59  const QByteArray& getNonceAsHex() const
60  {
61  return mNonceAsHex;
62  }
63 
64 
65  const QByteArray& getAuthTokenAsHex() const
66  {
67  return mAuthTokenAsHex;
68  }
69 
70 
71 };
72 
73 } // namespace governikus
governikus::DidAuthenticateEAC2Command::getAuthTokenAsHex
const QByteArray & getAuthTokenAsHex() const
Definition: DidAuthenticateEAC2Command.h:65
governikus::BaseCardCommand::mCardConnectionWorker
QSharedPointer< CardConnectionWorker > mCardConnectionWorker
Definition: BaseCardCommand.h:29
governikus::GABuilder::build
CommandApdu build() override
Definition: GABuilder.cpp:58
governikus::DidAuthenticateEAC2Command::internalExecute
virtual void internalExecute() override
Definition: DidAuthenticateEAC2Command.cpp:41
ChipAuthenticationInfo.h
governikus::CVCertificateChain::getTerminalCvc
QSharedPointer< const CVCertificate > getTerminalCvc() const
Return the terminal certificate.
Definition: CVCertificateChain.cpp:28
governikus::GABuilder::setCaEphemeralPublicKey
void setCaEphemeralPublicKey(const QByteArray &pData)
Definition: GABuilder.cpp:30
governikus::DidAuthenticateEAC2Command::DidAuthenticateEAC2Command
DidAuthenticateEAC2Command(QSharedPointer< CardConnectionWorker > pCardConnectionWorker, const CVCertificateChain &pCvcChain, const QString &pEphemeralPublicKeyAsHex, const QString &pSignatureAsHex, const QByteArray &pAuthenticatedAuxiliaryDataAsBinary)
Definition: DidAuthenticateEAC2Command.cpp:26
governikus::GAChipAuthenticationResponse
Definition: GeneralAuthenticateResponse.h:156
governikus::DidAuthenticateEAC2Command::getEfCardSecurityAsHex
const QByteArray & getEfCardSecurityAsHex() const
Definition: DidAuthenticateEAC2Command.h:53
governikus::DidAuthenticateEAC2Command::~DidAuthenticateEAC2Command
virtual ~DidAuthenticateEAC2Command() override=default
governikus::GABuilder
Definition: GABuilder.h:16
governikus::EABuilder
Definition: EABuilder.h:16
DidAuthenticateEAC2Command.h
governikus::SUCCESS
SUCCESS
Definition: ResponseApdu.h:79
governikus::PSOBuilder::P1::VERIFY
@ VERIFY
governikus::BaseCardCommand
Definition: BaseCardCommand.h:21
governikus::EFCardSecurity::decode
static QSharedPointer< EFCardSecurity > decode(const QByteArray &pBytes)
Definition: EFCardSecurity.cpp:47
governikus::DidAuthenticateEAC2Command
Definition: DidAuthenticateEAC2Command.h:20
GeneralAuthenticateResponse.h
GlobalStatus.h
BaseCardCommand.h
governikus
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15
EFCardSecurity.h
governikus::MSEBuilder::P1::SET_DST
@ SET_DST
governikus::BaseCardCommand::mReturnCode
CardReturnCode mReturnCode
Definition: BaseCardCommand.h:30
test_DidAuthenticateEAC2Command
Definition: test_DidAuthenticateEAC2Command.cpp:20
test_CardConnection
Definition: test_CardConnection.cpp:17
GABuilder.h
governikus::MSEBuilder
Definition: MSEBuilder.h:17
governikus::PSOBuilder
Definition: PSOBuilder.h:16
governikus::MSEBuilder::P2::COMPUTE_DIGITAL_SIGNATURE
@ COMPUTE_DIGITAL_SIGNATURE
EABuilder.h
governikus::EABuilder::setSignature
void setSignature(const QByteArray &pData)
Definition: EABuilder.cpp:23
governikus::PSOBuilder::P2::CERTIFICATE
@ CERTIFICATE
MSEBuilder.h
governikus::MSEBuilder::P1::COMPUTE_DIGITAL_SIGNATURE
@ COMPUTE_DIGITAL_SIGNATURE
PSOBuilder.h
governikus::DidAuthenticateEAC2Command::getNonceAsHex
const QByteArray & getNonceAsHex() const
Definition: DidAuthenticateEAC2Command.h:59
governikus::MSEBuilder::P2::SET_AT
@ SET_AT
governikus::CVCertificateChain
Definition: CVCertificateChain.h:22
CVCertificateChain.h
governikus::EABuilder::build
CommandApdu build() override
Definition: EABuilder.cpp:29
governikus::FileRef::efCardSecurity
static FileRef efCardSecurity()
Definition: FileRef.cpp:32
CardConnection.h