AusweisApp2
Lade ...
Suche ...
Keine Treffer
PaceInfo.h
gehe zur Dokumentation dieser Datei
1
7#pragma once
8
9#include "EnumHelper.h"
10#include "SecurityInfo.h"
11
12
13namespace governikus
14{
15
21defineEnumType(KeyAgreementType, DH, ECDH)
22
23
24
29defineEnumType(MappingType, GM, IM)
30
31
49{
50 ASN1_OBJECT* mProtocol;
51 ASN1_INTEGER* mVersion;
52 ASN1_INTEGER* mParameterId;
53};
54DECLARE_ASN1_FUNCTIONS(paceinfo_st)
55
56
57/*
58 * Wrapper for structure paceinfo_st.
59 */
61 : public SecurityInfo
62{
63 friend class QSharedPointer<PaceInfo>;
64
65 const QSharedPointer<const paceinfo_st> mDelegate;
66
67 explicit PaceInfo(const QSharedPointer<const paceinfo_st>& pDelegate);
68 [[nodiscard]] ASN1_OBJECT* getProtocolObjectIdentifier() const override;
69 static bool acceptsProtocol(const ASN1_OBJECT* pObjectIdentifier);
70
71 public:
72 static QSharedPointer<PaceInfo> decode(const QByteArray& pBytes)
73 {
74 if (const auto& delegate = decodeObject<paceinfo_st>(pBytes, false))
75 {
76 if (PaceInfo::acceptsProtocol(delegate->mProtocol))
77 {
78 return QSharedPointer<PaceInfo>::create(delegate);
79 }
80 }
81 return QSharedPointer<PaceInfo>();
82 }
83
84
85 [[nodiscard]] QByteArray getParameterId() const;
86 [[nodiscard]] int getParameterIdAsInt() const;
87 [[nodiscard]] int getVersion() const;
88 [[nodiscard]] KeyAgreementType getKeyAgreementType() const;
89 [[nodiscard]] MappingType getMappingType() const;
90 [[nodiscard]] bool isStandardizedDomainParameters() const;
91};
92
93
94template<>
95paceinfo_st* decodeAsn1Object<paceinfo_st>(paceinfo_st** pObject, const unsigned char** pData, long pDataLen);
96
97
98template<>
100
101
102} // namespace governikus
#define defineEnumType(enumName,...)
Definition: EnumHelper.h:86
Definition: PaceInfo.h:62
static QSharedPointer< PaceInfo > decode(const QByteArray &pBytes)
Definition: PaceInfo.h:72
Definition: SecurityInfo.h:46
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15
paceinfo_st * decodeAsn1Object< paceinfo_st >(paceinfo_st **pObject, const unsigned char **pData, long pDataLen)
void freeAsn1Object< paceinfo_st >(paceinfo_st *pObject)
GM
Definition: PaceInfo.h:29
Definition: PaceInfo.h:49
ASN1_INTEGER * mVersion
Definition: PaceInfo.h:51
ASN1_INTEGER * mParameterId
Definition: PaceInfo.h:52
ASN1_OBJECT * mProtocol
Definition: PaceInfo.h:50