16 #include <QCoreApplication>
57 INSTALL_QUAL_CERT = 7,
61 PRIVILEGED_TERMINAL = 3,
62 RESTRICTED_IDENTIFICATION = 2,
63 COMMUNITY_ID_VERIFICATION = 1,
69 #define TYPE(x) static_cast<std::underlying_type_t<AccessRight>>(x)
98 [[nodiscard]]
inline uint
qHash(governikus::AccessRight pAccessRight)
100 return static_cast<uint
>(pAccessRight);
105 CVCA = 3, DV_od = 2, DV_no_f = 1, AT = 0,
UNKNOWN = -1
109 class AccessRoleAndRightsUtil
111 Q_DECLARE_TR_FUNCTIONS(governikus::AccessRoleAndRightsUtil)
120 Q_DECLARE_FLAGS(JoinRights, JoinRight)
123 static QList<AccessRight> mAllRights;
124 static QList<AccessRight> mAllDisplayedOrderedRights;
126 static bool fromTechnicalName(
const char*
const pStr,
const std::function<
void(AccessRight)>& pFunc);
127 static QStringList fromTechnicalName(
const QStringList& pStr, JoinRights pJoinRight);
129 AccessRoleAndRightsUtil() =
delete;
130 ~AccessRoleAndRightsUtil() =
delete;
133 static const QList<AccessRight>& allDisplayedOrderedRights();
134 static const QList<AccessRight>& allRights();
135 [[nodiscard]]
static bool isWriteAccessRight(AccessRight pRight);
136 static QString toDisplayText(AccessRight pRight);
137 static QLatin1String toTechnicalName(AccessRight pRight);
138 static bool fromTechnicalName(
const QString& pStr,
const std::function<
void(AccessRight)>& pFunc);
139 static QString joinFromTechnicalName(
const QStringList& pStr,
140 JoinRights pJoinRight = JoinRight::READWRITE,
141 const QString& pJoin = QStringLiteral(
", "));
144 Q_DECLARE_OPERATORS_FOR_FLAGS(AccessRoleAndRightsUtil::JoinRights)
Q_DECLARE_TYPEINFO(governikus::AccessRight, Q_PRIMITIVE_TYPE)
Implementation of GeneralAuthenticate response APDUs.
Definition: CommandApdu.h:16
UNKNOWN
Definition: ResponseApdu.h:63
BirthName
Definition: AccessRoleAndRight.h:75
PinManagement
Definition: AccessRoleAndRight.h:94
GivenNames
Definition: AccessRoleAndRight.h:82
Pseudonym
Definition: AccessRoleAndRight.h:87
AddressVerification
Definition: AccessRoleAndRight.h:88
defineEnumType(KnownOid, ID_SIGNED_DATA, EC_PS_PUBLICKEY, STANDARDIZED_DOMAINPARAMETERS, BSI_DE_PROTOCOLS_SMARTCARD, ID_PK, ID_PK_DH, ID_PK_ECDH, ID_PS_PK, ID_PS_PK_ECDH_ESCHNORR, ID_TA, ID_TA_RSA, ID_TA_RSA_V1_5_SHA_1, ID_TA_RSA_V1_5_SHA_256, ID_TA_RSA_PSS_SHA_1, ID_TA_RSA_PSS_SHA_256, ID_TA_RSA_V1_5_SHA_512, ID_TA_RSA_PSS_SHA_512, ID_TA_ECDSA, ID_TA_ECDSA_SHA_1, ID_TA_ECDSA_SHA_224, ID_TA_ECDSA_SHA_256, ID_TA_ECDSA_SHA_384, ID_TA_ECDSA_SHA_512, ID_CA, ID_CA_DH, ID_CA_DH_3DES_CBC_CBC, ID_CA_DH_AES_CBC_CMAC_128, ID_CA_DH_AES_CBC_CMAC_192, ID_CA_DH_AES_CBC_CMAC_256, ID_CA_ECDH, ID_CA_ECDH_3DES_CBC_CBC, ID_CA_ECDH_AES_CBC_CMAC_128, ID_CA_ECDH_AES_CBC_CMAC_192, ID_CA_ECDH_AES_CBC_CMAC_256, ID_PACE, ID_PACE_DH_GM, ID_PACE_DH_GM_3DES_CBC_CBC, ID_PACE_DH_GM_AES_CBC_CMAC_128, ID_PACE_DH_GM_AES_CBC_CMAC_192, ID_PACE_DH_GM_AES_CBC_CMAC_256, ID_PACE_ECDH_GM, ID_PACE_ECDH_GM_3DES_CBC_CBC, ID_PACE_ECDH_GM_AES_CBC_CMAC_128, ID_PACE_ECDH_GM_AES_CBC_CMAC_192, ID_PACE_ECDH_GM_AES_CBC_CMAC_256, ID_PACE_DH_IM, ID_PACE_DH_IM_3DES_CBC_CBC, ID_PACE_DH_IM_AES_CBC_CMAC_128, ID_PACE_DH_IM_AES_CBC_CMAC_192, ID_PACE_DH_IM_AES_CBC_CMAC_256, ID_PACE_ECDH_IM, ID_PACE_ECDH_IM_3DES_CBC_CBC, ID_PACE_ECDH_IM_AES_CBC_CMAC_128, ID_PACE_ECDH_IM_AES_CBC_CMAC_192, ID_PACE_ECDH_IM_AES_CBC_CMAC_256, ID_PACE_ECDH_CAM, ID_PACE_ECDH_CAM_AES_CBC_CMAC_128, ID_PACE_ECDH_CAM_AES_CBC_CMAC_192, ID_PACE_ECDH_CAM_AES_CBC_CMAC_256, ID_RI, ID_RI_DH, ID_RI_DH_SHA_1, ID_RI_DH_SHA_224, ID_RI_DH_SHA_256, ID_RI_DH_SHA_384, ID_RI_DH_SHA_512, ID_RI_ECDH, ID_RI_ECDH_SHA_1, ID_RI_ECDH_SHA_224, ID_RI_ECDH_SHA_256, ID_RI_ECDH_SHA_384, ID_RI_ECDH_SHA_512, ID_CI, ID_EID_SECURITY, ID_PT, ID_PS, ID_PSA, ID_PSA_ECDH_ECSCHNORR, ID_PSA_ECDH_ECSCHNORR_SHA_256, ID_PSA_ECDH_ECSCHNORR_SHA_384, ID_PSA_ECDH_ECSCHNORR_SHA_512, ID_PASSWORDTYPE, ID_PASSWORDTYPE_MRZ, ID_PASSWORDTYPE_CAN, ID_PASSWORDTYPE_PIN, ID_PASSWORDTYPE_PUK, ID_AUXILIARY_DATA, ID_DATE_OF_BIRTH, ID_DATE_OF_EXPIRY, ID_MUNICIPALITY_ID, ID_PSM_MESSAGE, ID_SECURITY_OBJECT, ID_ROLES, ID_IS, ID_AT, ID_ST, ID_EXTENSIONS, ID_DESCRIPTION, ID_PLAIN_FORMAT, ID_HTML_FORMAT, ID_PFD_FORMAT, ID_SECTOR, ID_EID_TYPE, ID_CARD_EID_TYPE, ID_MOBILE_EID_TYPE, ID_MOBILE_EID_TYPE_SE_CERTIFIED, ID_MOBILE_EID_TYPE_SE_ENDORSED, ID_MOBILE_EID_TYPE_HW_KEYSTORE) class Oid
Definition: Oid.h:21
defineTypedEnumType(Ins, uchar, UNKNOWN=0x00, DEACTIVATE=0x04, VERIFY=0x20, MSE_SET=0x22, ACTIVATE=0x44, EXTERNAL_AUTHENTICATE=0x82, GET_CHALLENGE=0x84, GENERAL_AUTHENTICATE=0x86, PSO_VERIFY=0x2A, PSO_COMPUTE=0x2B, RESET_RETRY_COUNTER=0x2C, SELECT=0xA4, READ_BINARY=0xB0, GET_RESPONSE=0xC0, UPDATE_BINARY=0xD6) class CommandApdu
Definition: CommandApdu.h:17
auto qHash(const Oid &pOid)
Definition: Oid.h:162
WriteCommunityID
Definition: AccessRoleAndRight.h:91
Address
Definition: AccessRoleAndRight.h:74
WriteAddress
Definition: AccessRoleAndRight.h:90
DateOfBirth
Definition: AccessRoleAndRight.h:78
CanAllowed
Definition: AccessRoleAndRight.h:86
WriteResidencePermitII
Definition: AccessRoleAndRight.h:93
ASN1_OCTET_STRING CommunityID
Definition: AuthenticatedAuxiliaryData.cpp:22
ResidencePermitI
Definition: AccessRoleAndRight.h:72
Nationality
Definition: AccessRoleAndRight.h:76
ResidencePermitII
Definition: AccessRoleAndRight.h:71
FamilyName
Definition: AccessRoleAndRight.h:81
DocumentType
Definition: AccessRoleAndRight.h:85
ValidUntil
Definition: AccessRoleAndRight.h:83
ArtisticName
Definition: AccessRoleAndRight.h:80
IssuingCountry
Definition: AccessRoleAndRight.h:84
AgeVerification
Definition: AccessRoleAndRight.h:89
WriteResidencePermitI
Definition: AccessRoleAndRight.h:92
PlaceOfBirth
Definition: AccessRoleAndRight.h:77
DoctoralDegree
Definition: AccessRoleAndRight.h:79