AusweisApp
 
Lade ...
Suche ...
Keine Treffer
PaceInfo.h
gehe zur Dokumentation dieser Datei
1
4
5#pragma once
6
7#include "SecurityInfo.h"
8
9
10class test_PaceInfo;
11
12
13namespace governikus
14{
15
33{
34 ASN1_OBJECT* mProtocol;
35 ASN1_INTEGER* mVersion;
36 ASN1_INTEGER* mParameterId;
37};
38DECLARE_ASN1_FUNCTIONS(paceinfo_st)
40
41
42/*
43 * Wrapper for structure paceinfo_st.
44 */
45class PaceInfo
46 : public SecurityInfo
47{
48 friend class QSharedPointer<const PaceInfo>;
49
50 friend class ::test_PaceInfo;
51
52 private:
53 const QSharedPointer<const paceinfo_st> mDelegate;
54
55 explicit PaceInfo(const QSharedPointer<const paceinfo_st>& pDelegate);
56 [[nodiscard]] ASN1_OBJECT* getProtocolObjectIdentifier() const override;
57 static bool acceptsProtocol(const ASN1_OBJECT* pObjectIdentifier);
58
59 public:
60 static QSharedPointer<const PaceInfo> decode(const QByteArray& pBytes);
61 [[nodiscard]] static int getMappedNid(int pCurveIndex);
62
63 [[nodiscard]] int getVersion() const;
64 [[nodiscard]] bool hasParameterId() const;
65 [[nodiscard]] int getParameterId() const;
66 [[nodiscard]] int getParameterIdAsNid() const;
67 [[nodiscard]] bool isStandardizedDomainParameters() const;
68};
69
70
71inline QDebug operator<<(QDebug pDbg, const QSharedPointer<const PaceInfo>& pPaceInfo)
72{
73 QDebugStateSaver saver(pDbg);
74 if (pPaceInfo->hasParameterId())
75 {
76 pDbg.nospace().noquote() << pPaceInfo->getOid()
77 << ", version: " << pPaceInfo->getVersion()
78 << ", parameterId: " << pPaceInfo->getParameterId();
79 }
80 else
81 {
82 pDbg.nospace().noquote() << pPaceInfo->getOid()
83 << ", version: " << pPaceInfo->getVersion();
84 }
85 return pDbg;
86}
87
88
89} // namespace governikus
#define DECLARE_ASN1_OBJECT(name)
Definition ASN1TemplateUtil.h:173
bool hasParameterId() const
Definition PaceInfo.cpp:130
static QSharedPointer< const PaceInfo > decode(const QByteArray &pBytes)
Definition PaceInfo.cpp:62
int getParameterId() const
Definition PaceInfo.cpp:136
bool isStandardizedDomainParameters() const
Definition PaceInfo.cpp:148
static int getMappedNid(int pCurveIndex)
Definition PaceInfo.cpp:77
int getParameterIdAsNid() const
Definition PaceInfo.cpp:142
int getVersion() const
Definition PaceInfo.cpp:124
Defines the AccessRight and AccessRole enum.
Definition CommandApdu.h:17
QDebug operator<<(QDebug pDbg, const CommandApdu &pCommandApdu)
Definition CommandApdu.h:96
Definition PaceInfo.h:33
ASN1_INTEGER * mVersion
Definition PaceInfo.h:35
ASN1_INTEGER * mParameterId
Definition PaceInfo.h:36
ASN1_OBJECT * mProtocol
Definition PaceInfo.h:34