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