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 
49  public:
51  PacePasswordId pPasswordId = PacePasswordId::UNKNOWN,
52  const QByteArray& pChat = QByteArray(),
53  const QByteArray& pCertificateDescription = QByteArray());
54 
55  static bool isCcid(const QByteArray& pInput);
56  bool fromCcid(const QByteArray& pInput);
57  bool fromInputData(const QByteArray& pInput);
58 
59  [[nodiscard]] PacePasswordId getPasswordId() const;
60  [[nodiscard]] const QByteArray& getChat() const;
61  [[nodiscard]] const QByteArray& getCertificateDescription() const;
62 
66  [[nodiscard]] QByteArray createInputData() const;
67 
71  [[nodiscard]] QByteArray createCommandData() const;
72 
76  [[nodiscard]] QByteArray createCommandDataCcid() const;
77 
78 #ifndef QT_NO_DEBUG
79  bool operator==(const EstablishPaceChannel& pOther) const
80  {
81  return mPasswordId == pOther.mPasswordId
82  && mChat == pOther.mChat
83  && mCertificateDescription == pOther.mCertificateDescription;
84  }
85 
86 
87 #endif
88 };
89 
90 } // namespace governikus
governikus::Enum
Definition: EnumHelper.h:90
governikus::CommandApdu
Definition: CommandApdu.h:16
governikus::UNKNOWN
UNKNOWN
Definition: SmartCardDefinitions.h:18
governikus::CommandApdu::getP2
char getP2() const
Definition: CommandApdu.cpp:119
DECLARE_ASN1_OBJECT
#define DECLARE_ASN1_OBJECT(name)
Definition: ASN1TemplateUtil.h:164
CertificateDescription.h
LengthValue.h
governikus::mChat
CHAT * mChat
Definition: CVCertificateBody.h:49
governikus::CommandApdu::getCLA
char getCLA() const
Definition: CommandApdu.cpp:101
governikus::CommandApdu::getData
QByteArray getData() const
Definition: CommandApdu.cpp:180
governikus::quint8
quint8
Definition: ResponseApdu.h:62
ASN1Util.h
governikus::ESTABLISHPACECHANNELINPUT
As defined in TR-03119:
Definition: EstablishPaceChannel.h:32
governikus::EstablishPaceChannel::getCertificateDescription
const QByteArray & getCertificateDescription() const
Definition: EstablishPaceChannel.cpp:200
governikus::decodeAsn1Object
T * decodeAsn1Object(T **, const unsigned char **, long)
Default template function for decoding an OpenSSL type.
Definition: ASN1TemplateUtil.h:86
governikus::EstablishPaceChannel
Definition: EstablishPaceChannel.h:43
governikus::PACE_CAN
PACE_CAN
Definition: SmartCardDefinitions.h:20
governikus::Apdu::getBuffer
const QByteArray & getBuffer() const
Definition: Apdu.cpp:31
governikus::ESTABLISHPACECHANNELINPUT::mCHAT
ASN1_OCTET_STRING * mCHAT
Definition: EstablishPaceChannel.h:35
governikus::EstablishPaceChannel::getChat
const QByteArray & getChat() const
Definition: EstablishPaceChannel.cpp:194
governikus::Asn1OctetStringUtil::getValue
static QByteArray getValue(ASN1_OCTET_STRING *pAsn1OctetString)
Definition: ASN1Util.cpp:66
governikus::ESTABLISHPACECHANNELINPUT::mHashOID
ASN1_OBJECT * mHashOID
Definition: EstablishPaceChannel.h:37
governikus::EstablishPaceChannel::fromInputData
bool fromInputData(const QByteArray &pInput)
Definition: EstablishPaceChannel.cpp:135
governikus::CommandApdu::getINS
char getINS() const
Definition: CommandApdu.cpp:107
CommandApdu.h
governikus::EstablishPaceChannel::createCommandData
QByteArray createCommandData() const
Definition: EstablishPaceChannel.cpp:236
governikus::EstablishPaceChannel::createInputData
QByteArray createInputData() const
Definition: EstablishPaceChannel.cpp:206
IMPLEMENT_ASN1_OBJECT
#define IMPLEMENT_ASN1_OBJECT(name)
Definition: ASN1TemplateUtil.h:139
governikus
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15
governikus::ESTABLISHPACECHANNELINPUT::mPasswordID
ASN1_INTEGER * mPasswordID
Definition: EstablishPaceChannel.h:33
SmartCardDefinitions.h
governikus::ESTABLISHPACECHANNELINPUT::mCertificateDescription
CertificateDescription * mCertificateDescription
Definition: EstablishPaceChannel.h:36
governikus::EstablishPaceChannel::createCommandDataCcid
QByteArray createCommandDataCcid() const
Definition: EstablishPaceChannel.cpp:259
governikus::Asn1OctetStringUtil::setValue
static void setValue(const QByteArray &pValue, ASN1_OCTET_STRING *pAsn1OctetString)
Definition: ASN1Util.cpp:60
governikus::PACE_PIN
PACE_PIN
Definition: SmartCardDefinitions.h:21
governikus::EstablishPaceChannel::EstablishPaceChannel
EstablishPaceChannel(PacePasswordId pPasswordId=PacePasswordId::UNKNOWN, const QByteArray &pChat=QByteArray(), const QByteArray &pCertificateDescription=QByteArray())
Definition: EstablishPaceChannel.cpp:48
governikus::EstablishPaceChannel::getPasswordId
PacePasswordId getPasswordId() const
Definition: EstablishPaceChannel.cpp:188
governikus::EstablishPaceChannel::fromCcid
bool fromCcid(const QByteArray &pInput)
Definition: EstablishPaceChannel.cpp:62
governikus::encodeObject
QByteArray encodeObject(T *pObject)
Template function for encoding an OpenSSL type as DER encoded QByteArray.
Definition: ASN1TemplateUtil.h:64
governikus::EstablishPaceChannel::operator==
bool operator==(const EstablishPaceChannel &pOther) const
Definition: EstablishPaceChannel.h:79
governikus::EstablishPaceChannel::isCcid
static bool isCcid(const QByteArray &pInput)
Definition: EstablishPaceChannel.cpp:56
governikus::ESTABLISHPACECHANNELINPUT::mTransmittedPassword
ASN1_STRING * mTransmittedPassword
Definition: EstablishPaceChannel.h:34
ResponseApdu.h
governikus::CommandApdu::SHORT_MAX_LE
static const int SHORT_MAX_LE
Definition: CommandApdu.h:23
ASN1TemplateUtil.h
EstablishPaceChannel.h
governikus::CertificateDescription
Definition: CertificateDescription.h:40
governikus::CommandApdu::getP1
char getP1() const
Definition: CommandApdu.cpp:113