AusweisApp2
CommandApdu.h
gehe zur Dokumentation dieser Datei
1 
5 #pragma once
6 
7 #include "Apdu.h"
8 
9 #include <QByteArray>
10 
11 namespace governikus
12 {
13 
14 class CommandApdu final
15  : public Apdu
16 {
17  private:
18  [[nodiscard]] inline bool isExtendedLength() const;
19 
20  public:
21  static const int NO_LE = 0;
22  static const int SHORT_MAX_LC = 0xff;
23  static const int SHORT_MAX_LE = 0x0100;
24  static const int EXTENDED_MAX_LC = 0x00ffff;
25  static const int EXTENDED_MAX_LE = 0x010000;
26  static const char CLA = 0x00;
27  static const char CLA_COMMAND_CHAINING = 0x10;
28  static const char CLA_SECURE_MESSAGING = 0x0c;
29 
30  explicit CommandApdu(const QByteArray& pBuffer);
31  explicit CommandApdu(const QByteArray& pHeader, const QByteArray& pData, int pLe);
32  explicit CommandApdu(char pCla, char pIns, char pP1, char pP2, const QByteArray& pData = QByteArray(), int pLe = NO_LE);
33 
34  [[nodiscard]] char getCLA() const;
35  [[nodiscard]] char getINS() const;
36  [[nodiscard]] char getP1() const;
37  [[nodiscard]] char getP2() const;
38  [[nodiscard]] int getLc() const;
39  [[nodiscard]] int getLe() const;
40  [[nodiscard]] QByteArray getData() const;
41 
42  static bool isExtendedLength(const QByteArray& pData, int pLe);
43  static bool isSecureMessaging(const QByteArray& pCommandBuffer);
44 };
45 
46 } // namespace governikus
governikus::CommandApdu
Definition: CommandApdu.h:16
governikus::CommandApdu::getP2
char getP2() const
Definition: CommandApdu.cpp:119
governikus::Apdu::length
int length() const
Definition: Apdu.cpp:19
governikus::CommandApdu::EXTENDED_MAX_LE
static const int EXTENDED_MAX_LE
Definition: CommandApdu.h:25
Apdu.h
governikus::CommandApdu::SHORT_MAX_LC
static const int SHORT_MAX_LC
Definition: CommandApdu.h:22
governikus::CommandApdu::getCLA
char getCLA() const
Definition: CommandApdu.cpp:101
governikus::CommandApdu::getData
QByteArray getData() const
Definition: CommandApdu.cpp:180
governikus::Apdu
Definition: Apdu.h:13
governikus::CommandApdu::CLA
static const char CLA
Definition: CommandApdu.h:26
governikus::CommandApdu::CommandApdu
CommandApdu(const QByteArray &pBuffer)
Definition: CommandApdu.cpp:14
governikus::Apdu::mBuffer
QByteArray mBuffer
Definition: Apdu.h:15
governikus::CommandApdu::getINS
char getINS() const
Definition: CommandApdu.cpp:107
CommandApdu.h
governikus
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15
governikus::CommandApdu::CLA_COMMAND_CHAINING
static const char CLA_COMMAND_CHAINING
Definition: CommandApdu.h:27
governikus::CommandApdu::NO_LE
static const int NO_LE
Definition: CommandApdu.h:21
governikus::CommandApdu::EXTENDED_MAX_LC
static const int EXTENDED_MAX_LC
Definition: CommandApdu.h:24
governikus::CommandApdu::getLc
int getLc() const
Definition: CommandApdu.cpp:132
governikus::CommandApdu::SHORT_MAX_LE
static const int SHORT_MAX_LE
Definition: CommandApdu.h:23
governikus::CommandApdu::CLA_SECURE_MESSAGING
static const char CLA_SECURE_MESSAGING
Definition: CommandApdu.h:28
governikus::CommandApdu::isSecureMessaging
static bool isSecureMessaging(const QByteArray &pCommandBuffer)
Definition: CommandApdu.cpp:36
governikus::CommandApdu::getLe
int getLe() const
Definition: CommandApdu.cpp:153
governikus::CommandApdu::getP1
char getP1() const
Definition: CommandApdu.cpp:113