AusweisApp2
EstablishPaceChannel.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
11 #include "SmartCardDefinitions.h"
12 
13 #include <QByteArray>
14 
15 
16 namespace governikus
17 {
18 
32 {
33  ASN1_INTEGER* mPasswordID;
34  ASN1_STRING* mTransmittedPassword;
35  ASN1_OCTET_STRING* mCHAT;
37  ASN1_OBJECT* mHashOID;
38 };
40 
41 
43 {
44  private:
45  PacePasswordId mPasswordId;
46  QByteArray mChat;
47  QByteArray mCertificateDescription;
48  QByteArray mPassword;
49 
50  public:
52  PacePasswordId pPasswordId = PacePasswordId::UNKNOWN,
53  const QByteArray& pChat = QByteArray(),
54  const QByteArray& pCertificateDescription = QByteArray());
55 
56  void setPassword(const QByteArray& pPassword);
57 
58  static bool isCcid(const QByteArray& pInput);
59  bool fromCcid(const QByteArray& pInput);
60  bool fromInputData(const QByteArray& pInput);
61 
62  [[nodiscard]] PacePasswordId getPasswordId() const;
63  [[nodiscard]] const QByteArray& getChat() const;
64  [[nodiscard]] const QByteArray& getCertificateDescription() const;
65 
69  [[nodiscard]] QByteArray createInputData() const;
70 
74  [[nodiscard]] QByteArray createCommandData() const;
75 
79  [[nodiscard]] QByteArray createCommandDataCcid() const;
80 
81 #ifndef QT_NO_DEBUG
82  bool operator==(const EstablishPaceChannel& pOther) const
83  {
84  return mPasswordId == pOther.mPasswordId
85  && mChat == pOther.mChat
86  && mCertificateDescription == pOther.mCertificateDescription;
87  }
88 
89 
90 #endif
91 };
92 
93 } // namespace governikus
#define DECLARE_ASN1_OBJECT(name)
Definition: ASN1TemplateUtil.h:169
Definition: EstablishPaceChannel.h:43
bool operator==(const EstablishPaceChannel &pOther) const
Definition: EstablishPaceChannel.h:82
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15
UNKNOWN
Definition: SmartCardDefinitions.h:18
CHAT * mChat
Definition: CVCertificateBody.h:49
Definition: CertificateDescription.h:40
As defined in TR-03119:
Definition: EstablishPaceChannel.h:32
ASN1_OCTET_STRING * mCHAT
Definition: EstablishPaceChannel.h:35
ASN1_STRING * mTransmittedPassword
Definition: EstablishPaceChannel.h:34
ASN1_OBJECT * mHashOID
Definition: EstablishPaceChannel.h:37
ASN1_INTEGER * mPasswordID
Definition: EstablishPaceChannel.h:33
CertificateDescription * mCertificateDescription
Definition: EstablishPaceChannel.h:36