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