AusweisApp
|
Implementation of GeneralAuthenticate response APDUs. Mehr ...
Namensbereiche | |
namespace | pcsc |
Typdefinitionen | |
using | GA_ENCRYPTEDNONCEDATA = ga_encryptednoncedata_st { ASN1_OCTET_STRING *mEncryptedNonce |
According to TR-03110-3 the ASN.1 the response APDU has one protocol specific data: | |
using | GA_MAPNONCEDATA = ga_mapnoncedata_st { ASN1_OCTET_STRING *mMappingData |
According to TR-03110-3 the ASN.1 the response APDU has one protocol specific data: | |
using | GA_PERFORMKEYAGREEMENTDATA = ga_performkeyagreementdata_st { ASN1_OCTET_STRING *mEphemeralPublicKey |
According to TR-03110-3 the ASN.1 the response APDU has one protocol specific data: | |
using | GA_MUTUALAUTHENTICATIONDATA = ga_mutualauthenticationdata_st { ASN1_OCTET_STRING *mAuthenticationToken |
According to TR-03110-3 the ASN.1 the response APDU has three protocol specific data: | |
using | GA_CHIPAUTHENTICATIONDATA = ga_chipauthenticationdata_st { ASN1_OCTET_STRING *mNonce |
According to TR-03110-3 the ASN.1 the response APDU has three protocol specific data: | |
using | ApplicationTemplate = application_template_st { ASN1_OCTET_STRING *mApplicationIdentifier |
using | ApplicationTemplatesInternal = STACK_OF(ApplicationTemplate) |
EF.DIR = ApplicationTemplates ::= SET OF ApplicationTemplate. | |
using | CommunityID = TYPE(AccessRight::READ_DG18) |
using | ValidityDate = ASN1_OCTET_STRING |
using | AgeVerificationDate = ASN1_STRING |
using | AuxDataTemplate = auxdatatemplate_st { ASN1_OBJECT *mAuxId |
using | AuthenticatedAuxiliaryDataInternal = STACK_OF(AuxDataTemplate) |
using | CHAT = chat_st { ASN1_OBJECT *mType |
According to. | |
using | CVCertificate = cvcertificate_st { CVCertificateBody *mBody |
using | CERTIFICATEEXTENSION = CERTIFICATEEXTENSION_st { ASN1_OBJECT *mOid |
using | CVCertificateBody = certificateprofilebody_st { ASN1_OCTET_STRING *mCertificateProfileIdentifier |
using | EcdsaPublicKey = ecdsapublickey_st { ASN1_OBJECT *mObjectIdentifier |
According to TR-03110-3 chapter D elliptic curve public keys are defined as follows: | |
using | securityinfos_st = stack_st_securityinfo_st |
using | EFCardAccess = SecurityInfos |
EFCardAccess ::= SecurityInfos. | |
using | Origin = GlobalStatus::Origin |
Aufzählungen | |
enum class | KeyAgreementStatus { SUCCESS , RETRY_ALLOWED , COMMUNICATION_ERROR , FAILED , PROTOCOL_ERROR } |
Funktionen | |
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 | |
QDebug | operator<< (QDebug pDbg, const CommandApdu &pCommandApdu) |
char * | toString (const CommandApdu &pCommandApdu) |
bool | operator== (const CommandApdu &pLeft, const CommandApdu &pRight) |
defineTypedEnumType (StatusCode, quint16, UNKNOWN=0x0000, SUCCESS=0x9000, NO_PKCS15_APP=0x6200, END_OF_FILE=0x6282, PIN_DEACTIVATED=0x6283, FCI_NO_ISO7816_4=0x6284, VERIFICATION_FAILED=0x6300, INPUT_TIMEOUT=0x6400, INPUT_CANCELLED=0x6401, PASSWORDS_DIFFER=0x6402, PASSWORD_OUTOF_RANGE=0x6403, CARD_EJECTED_AND_REINSERTED=0x64A2, EEPROM_CELL_DEFECT=0x6581, SECURITY_ENVIRONMENT=0x6600, WRONG_LENGTH=0x6700, NO_BINARY_FILE=0x6981, LAST_CHAIN_CMD_EXPECTED=0x6883, ACCESS_DENIED=0x6982, PASSWORD_COUNTER_EXPIRED=0x6983, DIRECTORY_OR_PASSWORD_LOCKED_OR_NOT_ALLOWED=0x6984, NO_PARENT_FILE=0x6985, NOT_YET_INITIALIZED=0x6985, NO_CURRENT_DIRECTORY_SELECTED=0x6986, DATAFIELD_EXPECTED=0x6987, INVALID_SM_OBJECTS=0x6988, COMMAND_NOT_ALLOWED=0x69F0, INVALID_DATAFIELD=0x6A80, ALGORITHM_ID=0x6A81, FILE_NOT_FOUND=0x6A82, RECORD_NOT_FOUND=0x6A83, INVALID_PARAMETER=0x6A86, LC_INCONSISTANT=0x6A87, PASSWORD_NOT_FOUND=0x6A88, ILLEGAL_OFFSET=0x6B00, UNSUPPORTED_CLA=0x6E00, CANT_DISPLAY=0x6410, INVALID_P1P2=0x6A00, UNSUPPORTED_INS=0x6D00, PIN_BLOCKED=0x63C0, PIN_SUSPENDED=0x63C1, PIN_RETRY_COUNT_2=0x63C2, INITIAL_PIN_BLOCKED=0x63D0, INITIAL_PIN_RETRY_COUNT_1=0x63D1, INITIAL_PIN_RETRY_COUNT_2=0x63D2, INITIAL_PIN_RETRY_COUNT_3=0x63D3) defineTypedEnumType(SW1 | |
QDebug | operator<< (QDebug pDbg, const ResponseApdu &pResponseApdu) |
char * | toString (const ResponseApdu &pResponseApdu) |
bool | operator== (const ResponseApdu &pLeft, const ResponseApdu &pRight) |
bool | operator== (const ResponseApduResult &pLeft, const ResponseApduResult &pRight) |
defineTypedEnumType (AccessRight, uint, WRITE_DG17=37, WRITE_DG18=36, WRITE_DG19=35, WRITE_DG20=34, WRITE_DG21=33, RFU_32=32, RFU_31=31, RFU_30=30, RFU_29=29, READ_DG21=28, READ_DG20=27, READ_DG19=26, READ_DG18=25, READ_DG17=24, READ_DG16=23, READ_DG15=22, READ_DG14=21, READ_DG13=20, READ_DG12=19, READ_DG11=18, READ_DG10=17, READ_DG09=16, READ_DG08=15, READ_DG07=14, READ_DG06=13, READ_DG05=12, READ_DG04=11, READ_DG03=10, READ_DG02=9, READ_DG01=8, INSTALL_QUAL_CERT=7, INSTALL_CERT=6, PIN_MANAGEMENT=5, CAN_ALLOWED=4, PRIVILEGED_TERMINAL=3, RESTRICTED_IDENTIFICATION=2, COMMUNITY_ID_VERIFICATION=1, AGE_VERIFICATION=0) defineTypedEnumType(AccessRightNames | |
application_template_st (const application_template_st &pCopy) | |
application_template_st & | operator= (const application_template_st &)=delete |
~application_template_st () | |
QByteArray | getAid () const |
QDebug | operator<< (QDebug pDbg, const QSharedPointer< ApplicationTemplate > &pApplicationTemplate) |
QByteArray | getOpenSslError () |
template<typename T > | |
T * | newAsn1Object () |
Default template function for creating an OpenSSL type. | |
template<typename T > | |
QSharedPointer< T > | newObject (T *pObject=newAsn1Object< T >()) |
Template function for creating a SharedPointer holding an ASN.1 OpenSSL type. | |
template<typename T > | |
int | encodeAsn1Object (const T *, uchar **) |
Default template function for encoding an OpenSSL type. | |
template<typename T > | |
QByteArray | encodeObject (T *pObject) |
Template function for encoding an OpenSSL type as DER encoded QByteArray. | |
template<typename T > | |
T * | decodeAsn1Object (T **, const uchar **, long) |
Default template function for decoding an OpenSSL type. | |
template<typename T > | |
void | freeAsn1Object (T *) |
Default template function for freeing an OpenSSL type. | |
template<typename T > | |
QSharedPointer< T > | decodeObject (const QByteArray &pData, bool pLogging=true) |
Template function for decoding an OpenSSL type from DER encoded QByteArray. | |
chat_st (const chat_st &pCopy) | |
chat_st & | operator= (const chat_st &)=delete |
~chat_st () | |
Oid | getType () const |
QByteArray | getTemplate () const |
AccessRole | getAccessRole () const |
QSet< AccessRight > | getAccessRights () const |
void | setAccessRights (const QSet< AccessRight > &pAccessRights) |
bool | hasAccessRight (AccessRight pAccessRight) const |
void | removeAllAccessRights () |
void | removeAccessRight (AccessRight pAccessRight) |
QDebug | operator<< (QDebug pDbg, const QSharedPointer< const ChipAuthenticationInfo > &pChipAuthenticationInfo) |
QByteArray | encode () const |
const CVCertificateBody & | getBody () const |
QByteArray | getRawBody () const |
const ECDSA_SIG * | getEcdsaSignature () const |
QByteArray | getRawSignature () const |
QByteArray | getDerSignature () const |
bool | isValidOn (const QDateTime &pValidationDate) const |
bool | isIssuedBy (const cvcertificate_st &pIssuer) const |
bool | operator== (const CVCertificate &pLeft, const CVCertificate &pRight) |
bool | operator!= (const CVCertificate &pLeft, const CVCertificate &pRight) |
STACK_OF (CERTIFICATEEXTENSION) *mExtensions | |
QByteArray | getCertificateProfileIdentifier () const |
QByteArray | getCertificationAuthorityReference () const |
const EcdsaPublicKey & | getPublicKey () const |
QByteArray | getCertificateHolderReference () const |
const CHAT & | getCHAT () const |
void | setCertificateExpirationDate (QDate date) |
QDate | getCertificateExpirationDate () const |
void | setCertificateEffectiveDate (QDate date) |
QDate | getCertificateEffectiveDate () const |
QCryptographicHash::Algorithm | getHashAlgorithm () const |
QHash< Oid, QByteArray > | getExtensions () const |
bool | isComplete () const |
SecurityProtocol | getSecurityProtocol () const |
Oid | getOid () const |
QByteArray | getUncompressedPublicPoint () const |
QSharedPointer< EVP_PKEY > | createKey (const QByteArray &pPublicPoint) const |
QSharedPointer< EVP_PKEY > | createKey () const |
QDebug | operator<< (QDebug pDbg, const QSharedPointer< const MobileEIDTypeInfo > &pMobileEIDTypeInfo) |
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 | |
auto | qHash (const Oid &pOid) |
QDebug | operator<< (QDebug pDbg, const Oid &pOid) |
QDebug | operator<< (QDebug pDbg, const QSharedPointer< const PaceInfo > &pPaceInfo) |
QDebug | operator<< (QDebug pDbg, const QSharedPointer< const SecurityInfo > &pSecurityInfo) |
bool | operator== (const TerminalAndChipAuthenticationResult &pLeft, const TerminalAndChipAuthenticationResult &pRight) |
QDebug | operator<< (QDebug pDbg, const CardInfo &pCardInfo) |
QDebug | operator<< (QDebug pDbg, const FileRef &pFileRef) |
defineEnumType (ReaderManagerPlugInType, UNKNOWN, MOCK, PCSC, NFC, REMOTE_IFD, LOCAL_IFD, SMART, SIMULATOR) class ReaderManagerPlugInInfo | |
defineEnumType (ProtocolType, UNDEFINED, TA, CA, PACE, RI) defineEnumType(KeyAgreementType | |
ECDH | defineEnumType (MappingType, UNDEFINED, GM, IM, CAM) defineEnumType(CipherType |
ECDH AES_256_CBC | defineEnumType (SignatureType, UNDEFINED, RSA, ECDSA) class SecurityProtocol |
QDebug | operator<< (QDebug pDbg, const SecurityProtocol &pProtocol) |
defineEnumType (CardType, NONE, UNKNOWN, EID_CARD, SMART_EID) defineTypedEnumType(PacePasswordId | |
defineEnumType (FeatureID, VERIFY_PIN_START=0x1, VERIFY_PIN_FINISH=0x2, MODIFY_PIN_START=0x3, MODIFY_PIN_FINISH=0x4, GET_KEY_PRESSED=0x5, VERIFY_PIN_DIRECT=0x6, MODIFY_PIN_DIRECT=0x7, MCT_READERDIRECT=0x8, MCT_UNIVERSAL=0x9, IFD_PIN_PROP=0xA, ABORT=0xB, SET_SPE_MESSAGE=0x0C, VERIFY_PIN_DIRECT_APP_ID=0x0D, MODIFY_PIN_DIRECT_APP_ID=0x0E, WRITE_DISPLAY=0x0F, GET_KEY=0x10, IFD_DISPLAY_PROPERTIES=0x11, TLV_PROPERTIES=0x12, CCID_ESC_COMMAND=0x13, EXECUTE_PACE=0x20) class PcscReaderFeature | |
QDebug | operator<< (QDebug pDbg, const governikus::PcscReaderFeature &pPcscReaderFeature) |
bool | operator== (const CallCost &pLeft, const CallCost &pRight) |
bool | operator== (const LanguageString &pLeft, const LanguageString &pRight) |
auto | qHash (const ReaderConfigurationInfo &info) |
void | setEphemeralResult (bool pEphemeral=true) |
void | setSmartEidSupportStatus (EidSupportStatus pStatus) |
void | setSmartEidSupportStatusResult (EidSupportStatusResult pStatus) |
void | setSmartEidStatus (EidStatus pStatus) |
void | setServiceInformation (const ServiceInformationResult &pResult) |
void | setInstallSmartEidResult (EidServiceResult pResult) |
void | setDeleteSmartEidResult (EidServiceResult pResult) |
void | setApduCommandResult (const GenericDataResult &pResult) |
void | setPersonalizationResult (const GenericDataResult &pResult) |
void | setInitializePersonalizationResult (const InitializeResult &pResult) |
void | setDeletePersonalizationResult (EidServiceResult pResult) |
void | initMock () |
QString | dequeueReceivedParameter () |
defineEnumType (CertificateType, UNKNOWN, PRODUCTION, DEVELOPER) class BuildHelper | |
defineEnumType (CardReturnCode, UNDEFINED, OK, OK_PUK, RETRY_ALLOWED, CARD_NOT_FOUND, UNKNOWN, INPUT_TIME_OUT, INVALID_CAN, INVALID_PASSWORD, INVALID_PIN, INVALID_PIN_2, INVALID_PIN_3, INVALID_PUK, COMMAND_FAILED, CANCELLATION_BY_USER, NEW_PIN_MISMATCH, NEW_PIN_INVALID_LENGTH, PIN_BLOCKED, PIN_NOT_BLOCKED, PUK_INOPERATIVE, PROTOCOL_ERROR, WRONG_LENGTH, UNEXPECTED_TRANSMIT_STATUS) class CardReturnCodeUtil | |
template<typename T > | |
QLatin1String | getEnumName (T pType) |
template<typename T > | |
T * | singleton () |
template<typename T , typename ... Args> | |
T | createNewObject (Args &&... pArgs) |
template<typename S , typename T > | |
std::enable_if_t<!std::is_void_v< T >, QList< T > > | map (const std::function< T(const S &)> &pFunc, const QList< S > &pItems) |
template<typename T > | |
std::enable_if_t<!std::is_void_v< T >, QVector< T > > | filter (const std::function< bool(const T &)> &pFunc, const QVector< T > &pItems) |
QDebug | operator<< (QDebug pDbg, const governikus::LogHandler &pHandler) |
bool | operator== (const VersionNumber &pLeft, const VersionNumber &pRight) |
bool | operator!= (const VersionNumber &pLeft, const VersionNumber &pRight) |
bool | operator< (const VersionNumber &pLeft, const VersionNumber &pRight) |
bool | operator> (const VersionNumber &pLeft, const VersionNumber &pRight) |
QDebug | operator<< (QDebug pDbg, const VersionNumber &pVersion) |
template<> | |
IfdConnector * | createNewObject< IfdConnector * > () |
QDebug | operator<< (QDebug pDbg, const IfdDescriptor &pIfdDescriptor) |
template<> | |
IfdDispatcherClient * | createNewObject< IfdDispatcherClient *, IfdVersion::Version &&, const QSharedPointer< DataChannel > & > (IfdVersion::Version &&pVersion, const QSharedPointer< DataChannel > &pChannel) |
template<> | |
IfdDispatcherServer * | createNewObject< IfdDispatcherServer *, const QSharedPointer< DataChannel > & > (const QSharedPointer< DataChannel > &pChannel) |
template<> | |
IfdList * | createNewObject< IfdList * > () |
template<> | |
IfdList * | createNewObject< IfdList *, int, int > (int &&pCheckInterval, int &&pTimeout) |
defineEnumType (IfdMessageType, IFDEstablishContext, IFDEstablishContextResponse, IFDGetStatus, IFDStatus, IFDConnect, IFDConnectResponse, IFDDisconnect, IFDDisconnectResponse, IFDError, IFDTransmit, IFDTransmitResponse, IFDEstablishPACEChannel, IFDEstablishPACEChannelResponse, IFDModifyPIN, IFDModifyPINResponse, UNDEFINED) class IfdMessage | |
QDebug | operator<< (QDebug pDbg, const IfdVersion &pVersion) |
QDebug | operator<< (QDebug pDbg, const IfdVersion::Version &pVersion) |
bool | operator== (const IfdVersion &pLeft, const IfdVersion::Version &pRight) |
template<> | |
LocalWebSocketServer * | createNewObject< LocalWebSocketServer * > () |
template<> | |
RemoteReaderAdvertiser * | createNewObject< RemoteReaderAdvertiser *, const QString &, const QString &, quint16 &, bool & > (const QString &pIfdName, const QString &pIfdId, quint16 &pPort, bool &pIsPairing) |
template<> | |
RemoteWebSocketServer * | createNewObject< RemoteWebSocketServer * > () |
int | initApp (int &argc, char **argv) |
void | shutdownApp () |
template<> | |
DatagramHandler * | createNewObject< DatagramHandler * > () |
template<> | |
DatagramHandler * | createNewObject< DatagramHandler *, bool > (bool &&pEnableListening) |
defineEnumType (StatusFormat, PLAIN, JSON) class HttpHandler | |
defineEnumType (UrlQueryRequest, UNKNOWN, SHOWUI, STATUS, TCTOKENURL) class UrlUtil | |
Utility class for checking various constraints on URLs. | |
bool | operator== (const TlsConfiguration &pLeft, const TlsConfiguration &pRight) |
bool | operator!= (const TlsConfiguration &pLeft, const TlsConfiguration &pRight) |
Q_DECL_EXPORT void | ausweisapp2_init_internal (const QByteArray &pCmdline) |
Q_DECL_EXPORT bool | ausweisapp2_is_running_internal () |
Q_DECL_EXPORT void | ausweisapp2_started_internal () |
Q_DECL_EXPORT AusweisApp2Callback | ausweisapp2_get_callback_internal () |
Q_DECL_EXPORT void | ausweisapp2_join_thread_internal () |
char * | toString (const Msg &pMsg) |
QDebug | operator<< (QDebug pDbg, const MsgHandler &pMsg) |
defineEnumType (MsgLevel, v1=1, v2=2) defineEnumType(MsgType | |
QString | generateMailBody (const GlobalStatus &pStatus, const QUrl &pServiceUrl, bool pPercentEncoding, bool pAddLogNotice) |
defineEnumType (WorkflowControl, UNHANDLED, SKIP, ENQUEUE) class WorkflowController | |
defineEnumType (SelfAuthDataPermission, UNKNOWN, ALLOWED, PROHIBITED, NOTONCHIP) defineEnumType(SelfAuthData | |
Implementation of GeneralAuthenticate response APDUs.
Loads the tcTokenUrl for triggering the self authentication from secure storage.
Parses self authentication data from JSON data and provides its content.
Controller for the self authentication process.
Self authentication context.
State that retrieves the Smart-eID TcTokenURL from the Secure Storage.
State that checks if the Smart-eID function is given.
Controller for the initialising a smartie.
This state executes the remote message IfdModifyPin.
Controller for the remote service process.
Remote service context.
State machine state: Start PAOS.
Implements the parsing of TcTokenUrl in header of browser request.
This state waits for editing of the effective CHAT.
Performs clean up of the ReaderManager, e.g.
Helper state to decide whether an error has been occurred that should be reported to the user.
Checks whether the hashes of the certificates encountered so far (i.e.
Builder for states.
Template base class for all steps taken by the state machine.
A final state which blocks the state machine before termination.
Composite state for selecting a card.
Parser for the PAOS Transmit element.
Transmit objects hold a transmit request and provide access to the transmitted data via member functions.
Class represents the retrieved PAOS StartPaosResponse.
Base class for PAOS message parsers.
Class to parse InitializeFramework from server.
Parse information for DidAuthenticateEacAdditional.
Class to hold information of DIDAuthenticateEACAdditional.
Parse information for DidAuthenticateEac2.
Class represents the retrieved PAOS EAC2InputType.
Parser for the PAOS DidAuthenticateEac1 element.
Class represents the retrieved PAOS EAC1InputType.
Represents a PAOS response type according to ISOCommon.xsd.
Represents a PAOS request type according to ISOCommon.xsd.
All possible paos types.
Generic Handler to detect and parse paos types.
Generate information for TransmitResponse.
Base class to create a PaosMessage.
Generate information for InitializeFrameworkResponse.
Generate information for DIDAuthenticateResponseEAC2.
Generate information for DIDAuthenticateResponseEAC1.
Example class.
XML element for "SupportedAPI".
Store information of Eac1InputType.
Parse an XML connection handle from given stream.
Object hold the paos connection handle.
Controller for the PIN changing process.
Controller for the authentication process.
Workflow context.
Context for changing the Pin.
Contains the definition of the CertificateChecker class.
UIPlugIn implementation of the Websocket.
Model implementation for the settings.
Model implementation for recognized readers.
Model implementation for displaying simple formatted text.
Model implementation for checking the ID card in "playground".
Description of recommended card position.
Enumerations of message types and additional stuff.
Generic class for Workflows.
MsgHandlerUnknownCommand of JSON API.
Message ReaderList of JSON API.
Message Reader of JSON API.
Message Log of JSON API.
Message Invalid of JSON API.
Message INTERNAL_ERROR of JSON API.
Message InsertCard of JSON API.
Message Info of JSON API.
Message EnterPuk of JSON API.
Message EnterPin of JSON API.
Helper handler for EnterCan, EnterPin and EnterPuk of JSON API.
Message EnterNewPin of JSON API.
Message EnterCan of JSON API.
Message Change PIN of JSON API.
Message handler for GET_CERTIFICATE of JSON API.
Message BadState of JSON API.
Message Auth of JSON API.
Message API_LEVEL of JSON API.
Message MsgHandlerAccessRights of JSON API.
Base of all messages of JSON API.
Context of JSON API.
Msg wrapper of JSON API.
UIPlugIn implementation of the integrated SDK (C-API).
Abstract layer to UI implementations.
UIPlugIn implementation of the AIDL UI.
Contains the definition of the AppSettings class.
Update data implementation for application version.
Helper to convert Result to Redirect-Result-String and some other URL stuff.
Helper to check certificates and other security stuff of TLS/SSL.
A simple template renderer.
Sends a status request to given url:port and tries to detect details and server header.
Provide a HTTP server.
Class to create http response.
Provides an UDP socket to send and receive datagrams.
Component advertising the smartphone as card reader (SaC) functionality on the server side.
Remote Ifd server service to offer smartphones as card readers (SaCs).
Implementation of LocalWebSocketServer interface.
Extension of WebSocketServer interface for local PSK connections.
Local Ifd server service to offer SaC to localhost websocket connections.
WebSocketServer on the server side of a smartphone as card reader (SaC) scenario.
Implementation of DataChannel base on web sockets.
QTcpServer with necessary TLS handling of remote device configuration.
Handler for messages on the server side of a smartphone as card reader (SaC) scenario.
Ifd server service to offer smartphones as card readers (SaCs).
Implementation of Reader for smartphone as card reader (SaC).
Interface for IfdList.
Class that dispatches incoming and outgoing ifd messages.
An interface for Ifd dispatchers, meant to omit the dependency between card_base and ifd.
Information needed to display a remote device in the GUI and to open a websocket connection to it.
Module that creates and manages connections from a remote client to a remote server.
An interface for IfdClients, meant to omit the dependency between card_base and ifd.
Implementation of Card for smartphone as card reader (SaC).
Interface modelling a component that can send and receive data blocks in the form of QByteArray objects.
Extension to QVersionNumber.
A global mapping for errors.
Template functions that allow to map and filter over QVectors.
Status class that tracks reasons for aborting a Workflow.
Helper class to provide a QMetaObject handler for enumerations.
Implements a wrapper for different APIs to get device information like android device name.
Global error code definitions.
Class that holds a table of the UpdatableFile instances currently in use.
Generic class that allows to download files from a server to the local application cache.
Controller for retrieving and presenting diagnosis info.
Contains information collected by the diagnosis functionality.
Handles updating information about the App release.
Provides information about the App release.
Class to provide information about available card readers.
Class to store configuration data about available card readers.
Parser for provider configuration files.
Class to provide information about providers.
Provides information of provider json.
Phone call cost representation.
Implementation of ReaderManagerPlugIn for Smart-eID card.
Wrapper for calls to eID applet interface.
Implementation of Smart-eID card.
Implementation of ReaderManagerPlugIn for Simulator.
Implementation of Reader for Simulator.
Implementation of Simulator.
Implementation of Reader for PCSC.
Implementation of card object for PC/SC *.
Implementation of ReaderManagerPlugIn for NFC on Android.
Implementation of Reader for NFC.
Implementation of Card for NFC.
Interface specifying classes that can detect the attached card reader devices on a specific platform.
Worker implementation of ReaderManger thread.
Data object providing information about a reader manager plug-in.
PlugIn to control different kinds of reader managers that will be used in ReaderManager.
A configured filter used to retrieve readers.
Functions to read and write PCSC messages with a length-value encoding.
Data object for output of card command EstablishPaceChannel.
Data object for creation of card command DestroyPACEChannel.
Symmetric decryption method used for PACE.
Implements TR-03110 v2 part3 --> Secure Messaging.
Creates key according to TR 03110 Part 3 chapters A.2.3 ff.
the key agreement protocol use in PACE.
EstablishPaceChannel error code definitions.
Elliptic curve utility.
CMAC implementation to be used in PACE protocol.
Holds the data of an InputAPDUInfo element.
Reference information for files on smart cards.
Execute function on ReaderManager-Thread.
Contains the CardInfo and the CardInfoFactory.
Worker for CardConnection that will do the job in ReaderManagerWorker.
Class representing a smart card.
Implementation of SecurityInfos.
Implementation of SecurityInfo.
Implementation of MobileEIDTypeInfo.
Implementation of EFCardSecurity.
Builder for CVC chains.
A CV certificate chain is an ordered list, where the CV certificates are ordered by the holder to authority reference relation (The holder is equivalent to the Subject-DN, the authority reference is equivalent to the Issuer-DN.)
Implementation of Card Verifiable Certificate, CVC.
Implementation of ChipAuthenticationInfo.
Implementation of Certificate Holder Authorization Template, CHAT.
Generic implementation for chain building, i.e.
Implementation of ASN.1 type CertificateDescription with OpenSSL.
Utility functions, templates and other ASN.1 related helper stuff.
Utility template functions for encoding and decoding of ASN.1 types.
Implementation of the ISO 7816 EF.DIR data structure (set of application template)
Implementation of ISO 7816 application template.
Defines the AccessRight and AccessRole enum.
ASN.1 types for SecureMessaging.
Response APDU for SecureMessaging.
Command APDU for SecureMessaging.
APDU for SecureMessaging.
Copyright (c) 2014-2023 Governikus GmbH & Co. KG, Germany
Copyright (c) 2022-2023 Governikus GmbH & Co. KG, Germany
Copyright (c) 2015-2023 Governikus GmbH & Co. KG, Germany
Copyright (c) 2021-2023 Governikus GmbH & Co. KG, Germany
Copyright (c) 2014-2023 Governikus GmbH & Co. KG, Germany
Note: When using a QHash<AccessRight,...> directly or indirectly (e.g. via QSet), this header must be included before <QHash> (also indirectly via <QSet> or <QList>), or otherwise they complain about the qHash() function for AccessRight not being found.
Copyright (c) 2015-2023 Governikus GmbH & Co. KG, Germany
building ordered lists. The ChainBuilder is initialized with a pool of objects and a (pointer to a) function that decides if two objects have a parent child relation. Duplicates are filtered out.
All found chains are returned by the function /ref ChainBuilder::getChains().
Copyright (c) 2014-2023 Governikus GmbH & Co. KG, Germany
See TR 03110.
Copyright (c) 2017-2023 Governikus GmbH & Co. KG, Germany
Copyright (c) 2014-2023 Governikus GmbH & Co. KG, Germany
For details see TR 03110.
Copyright (c) 2014-2023 Governikus GmbH & Co. KG, Germany
If you implement a class of this PlugIn you need to register it in ReaderManager, otherwise it won't be used.
Copyright (c) 2016-2023 Governikus GmbH & Co. KG, Germany
Copyright (c) 2020-2023 Governikus GmbH & Co. KG, Germany
Copyright (c) 2018-2023 Governikus GmbH & Co. KG, Germany
Copyright (c) 2017-2023 Governikus GmbH & Co. KG, Germany
This class controls the advertising over UDP as well as the Websocket connection management.
Copyright (c) 2017-2023 Governikus GmbH & Co. KG, Germany
According to the concept this is done by sending the message REMOTE_READER_OFFER as a UDP broadcast.
Copyright (c) 2019-2023 Governikus GmbH & Co. KG, Germany
Copyright (c) 2014-2023 Governikus GmbH & Co. KG, Germany
See TR-03112-7.
Copyright (c) 2014-2023 Governikus GmbH & Co. KG, Germany
It is parameterized over the context type and contains a getter for the context. We cannot parameterize the super class AbstractState because Qt does not support template classes.
Copyright (c) 2014-2023 Governikus GmbH & Co. KG, Germany
those stored in the AuthContext) are in the CertificateDescription extension of the eService certificate.
Copyright (c) 2016-2023 Governikus GmbH & Co. KG, Germany
disconnects all readers, clears the card connection, ...
Copyright (c) 2023 Governikus GmbH & Co. KG, Germany
using governikus::AgeVerificationDate = typedef ASN1_STRING |
using governikus::ApplicationTemplate = typedef application_template_st { ASN1_OCTET_STRING* mApplicationIdentifier |
ApplicationTemplate ::= SET { applicationIdentifier OBJECT IDENTIFIER, applicationLabel PrintableString OPTIONAL, fileReference OCTET STRING OPTIONAL, commandApdu OCTET STRING OPTIONAL, discretionaryData OCTET STRING OPTIONAL, discretionaryTemplate OCTET STRING OPTIONAL, uniformResourceLocator OCTET STRING OPTIONAL, applicationRelatedDataObjects ANY DEFINED BY applicationIdentifier OPTIONAL }
derived from the description in 7816-4:2005 8.2.1
using governikus::ApplicationTemplatesInternal = typedef STACK_OF(ApplicationTemplate) |
EF.DIR = ApplicationTemplates ::= SET OF ApplicationTemplate.
defined in ISO 7816-4:2005 8.2.1.1
using governikus::AuthenticatedAuxiliaryDataInternal = typedef STACK_OF(AuxDataTemplate) |
using governikus::AuxDataTemplate = typedef auxdatatemplate_st { ASN1_OBJECT* mAuxId |
Defined in TR-03110-3, chapter D.2:
AuthenticatedAuxiliaryData ::= [APPLICATION 0x07] IMPLICIT SET OF AuxDataTemplate
AuxDataTemplate ::= [APPLICATION 0x13] IMPLICIT SEQUENCE { auxID OBJECT IDENTIFIER, extInfo ANY DEFINED BY auxID }
CommunityID ::= [APPLICATION 0x13] IMPLICIT OCTETSTRING
ValidityDate ::= [APPLICATION 0x13] IMPLICIT Date
AgeVerificationDate ::= [APPLICATION 0x13] IMPLICIT Date
Date ::= NumericString (SIZE (8)) – YYYYMMDD
using governikus::CERTIFICATEEXTENSION = typedef CERTIFICATEEXTENSION_st { ASN1_OBJECT* mOid |
using governikus::CHAT = typedef chat_st { ASN1_OBJECT* mType |
According to.
Chat ::= APPLICATION [0x4C] IMPLICIT SEQUENCE { type OBJECT IDENTIFIER, template DiscretionaryData }
DiscretionaryData ::= APPLICATION [0x13] IMPLICIT OCTET STRING SIZE(5)
where the DiscretionaryData bits have the following meaning: 39 38 37 ... 32 31 30 29 ... 8 7 6 5 4 3 2 1 0 Description x x - - - - - - - - - - - - - - - - Role 1 1 - - - - - - - - - - - - - - - - CVCA 1 0 - - - - - - - - - - - - - - - - DV (official domestic) 0 1 - - - - - - - - - - - - - - - - DV (non-official / foreign) 0 0 - - - - - - - - - - - - - - - - Authentication Terminal
governikus::CommunityID = TYPE(AccessRight::READ_DG18) |
using governikus::CVCertificate = typedef cvcertificate_st { CVCertificateBody* mBody |
using governikus::CVCertificateBody = typedef certificateprofilebody_st { ASN1_OCTET_STRING* mCertificateProfileIdentifier |
using governikus::EcdsaPublicKey = typedef ecdsapublickey_st { ASN1_OBJECT* mObjectIdentifier |
According to TR-03110-3 chapter D elliptic curve public keys are defined as follows:
EcdsaPublicKey ::= [APPLICATION 0x49] IMPLICIT SEQUENCE { ObjectIdentifier OBJECT IDENTIFIER, PrimeModulus [0x01] IMPLICIT UnsignedInteger OPTIONAL FirstCoefficient [0x02] IMPLICIT UnsignedInteger OPTIONAL SecondCoefficient [0x03] IMPLICIT UnsignedInteger OPTIONAL BasePoint [0x04] IMPLICIT UncompressedEllipticCurvePoint OPTIONAL OrderOfTheBasePoint [0x05] IMPLICIT UnsignedInteger OPTIONAL PublicPoint [0x06] IMPLICIT UncompressedEllipticCurvePoint Cofactor [0x07] IMPLICIT UnsignedInteger OPTIONAL }
UncompressedEllipticCurvePoint ::= OCTET STRING – see TR-03111
UnsignedInteger – see TR-03110 D.2.1.1
using governikus::EFCardAccess = typedef SecurityInfos |
EFCardAccess ::= SecurityInfos.
defined in TR 3110 Part 3
using governikus::GA_CHIPAUTHENTICATIONDATA = typedef ga_chipauthenticationdata_st { ASN1_OCTET_STRING* mNonce |
According to TR-03110-3 the ASN.1 the response APDU has three protocol specific data:
Nonce ::= APPLICATION [0x01] IMPLICIT OCTET_STRING AuthenticationToken ::= APPLICATION [0x02] IMPLICIT OCTET_STRING
using governikus::GA_ENCRYPTEDNONCEDATA = typedef ga_encryptednoncedata_st { ASN1_OCTET_STRING* mEncryptedNonce |
According to TR-03110-3 the ASN.1 the response APDU has one protocol specific data:
EncryptedNonce ::= APPLICATION [0x00] IMPLICIT OCTET_STRING
using governikus::GA_MAPNONCEDATA = typedef ga_mapnoncedata_st { ASN1_OCTET_STRING* mMappingData |
According to TR-03110-3 the ASN.1 the response APDU has one protocol specific data:
MappingData ::= APPLICATION [0x02] IMPLICIT OCTET_STRING
using governikus::GA_MUTUALAUTHENTICATIONDATA = typedef ga_mutualauthenticationdata_st { ASN1_OCTET_STRING* mAuthenticationToken |
According to TR-03110-3 the ASN.1 the response APDU has three protocol specific data:
AuthenticationToken ::= APPLICATION [0x00] IMPLICIT OCTET_STRING CarCurr ::= APPLICATION [0x00] IMPLICIT OCTET_STRING OPTIONAL CarPrev ::= APPLICATION [0x00] IMPLICIT OCTET_STRING OPTIONAL
using governikus::GA_PERFORMKEYAGREEMENTDATA = typedef ga_performkeyagreementdata_st { ASN1_OCTET_STRING* mEphemeralPublicKey |
According to TR-03110-3 the ASN.1 the response APDU has one protocol specific data:
EphemeralPublicKey ::= APPLICATION [0x04] IMPLICIT OCTET_STRING
using governikus::Origin = typedef GlobalStatus::Origin |
using governikus::securityinfos_st = typedef stack_st_securityinfo_st |
using governikus::ValidityDate = typedef ASN1_OCTET_STRING |
|
strong |
governikus::application_template_st | ( | const application_template_st & | pCopy | ) |
AusweisApp2Callback governikus::ausweisapp2_get_callback_internal | ( | ) |
void governikus::ausweisapp2_init_internal | ( | const QByteArray & | pCmdline | ) |
bool governikus::ausweisapp2_is_running_internal | ( | ) |
void governikus::ausweisapp2_join_thread_internal | ( | ) |
void governikus::ausweisapp2_started_internal | ( | ) |
chat_st::chat_st | ( | const chat_st & | pCopy | ) |
QSharedPointer< EVP_PKEY > governikus::createKey | ( | ) | const |
Create signing key using current public point and the current curve parameters.
QSharedPointer< EVP_PKEY > governikus::createKey | ( | const QByteArray & | pPublicPoint | ) | const |
Create signing key using the given public point and the current curve parameters.
pPublicPoint | Another public key |
DatagramHandler * governikus::createNewObject< DatagramHandler * > | ( | ) |
DatagramHandler * governikus::createNewObject< DatagramHandler *, bool > | ( | bool && | pEnableListening | ) |
IfdConnector * governikus::createNewObject< IfdConnector * > | ( | ) |
IfdDispatcherClient * governikus::createNewObject< IfdDispatcherClient *, IfdVersion::Version &&, const QSharedPointer< DataChannel > & > | ( | IfdVersion::Version && | pVersion, |
const QSharedPointer< DataChannel > & | pChannel | ||
) |
IfdDispatcherServer * governikus::createNewObject< IfdDispatcherServer *, const QSharedPointer< DataChannel > & > | ( | const QSharedPointer< DataChannel > & | pChannel | ) |
IfdList * governikus::createNewObject< IfdList * > | ( | ) |
IfdList * governikus::createNewObject< IfdList *, int, int > | ( | int && | pCheckInterval, |
int && | pTimeout | ||
) |
LocalWebSocketServer * governikus::createNewObject< LocalWebSocketServer * > | ( | ) |
RemoteReaderAdvertiser * governikus::createNewObject< RemoteReaderAdvertiser *, const QString &, const QString &, quint16 &, bool & > | ( | const QString & | pIfdName, |
const QString & | pIfdId, | ||
quint16 & | pPort, | ||
bool & | pIsPairing | ||
) |
RemoteWebSocketServer * governikus::createNewObject< RemoteWebSocketServer * > | ( | ) |
Default template function for decoding an OpenSSL type.
This must be specialized for each ASN.1 type.
QSharedPointer< T > governikus::decodeObject | ( | const QByteArray & | pData, |
bool | pLogging = true |
||
) |
Template function for decoding an OpenSSL type from DER encoded QByteArray.
governikus::defineEnumType | ( | CardReturnCode | , |
UNDEFINED | , | ||
OK | , | ||
OK_PUK | , | ||
RETRY_ALLOWED | , | ||
CARD_NOT_FOUND | , | ||
UNKNOWN | , | ||
INPUT_TIME_OUT | , | ||
INVALID_CAN | , | ||
INVALID_PASSWORD | , | ||
INVALID_PIN | , | ||
INVALID_PIN_2 | , | ||
INVALID_PIN_3 | , | ||
INVALID_PUK | , | ||
COMMAND_FAILED | , | ||
CANCELLATION_BY_USER | , | ||
NEW_PIN_MISMATCH | , | ||
NEW_PIN_INVALID_LENGTH | , | ||
PIN_BLOCKED | , | ||
PIN_NOT_BLOCKED | , | ||
PUK_INOPERATIVE | , | ||
PROTOCOL_ERROR | , | ||
WRONG_LENGTH | , | ||
UNEXPECTED_TRANSMIT_STATUS | |||
) |
governikus::defineEnumType | ( | CardType | , |
NONE | , | ||
UNKNOWN | , | ||
EID_CARD | , | ||
SMART_EID | |||
) |
governikus::defineEnumType | ( | CertificateType | , |
UNKNOWN | , | ||
PRODUCTION | , | ||
DEVELOPER | |||
) |
governikus::defineEnumType | ( | FeatureID | , |
VERIFY_PIN_START | = 0x1 , |
||
VERIFY_PIN_FINISH | = 0x2 , |
||
MODIFY_PIN_START | = 0x3 , |
||
MODIFY_PIN_FINISH | = 0x4 , |
||
GET_KEY_PRESSED | = 0x5 , |
||
VERIFY_PIN_DIRECT | = 0x6 , |
||
MODIFY_PIN_DIRECT | = 0x7 , |
||
MCT_READERDIRECT | = 0x8 , |
||
MCT_UNIVERSAL | = 0x9 , |
||
IFD_PIN_PROP | = 0xA , |
||
ABORT | = 0xB , |
||
SET_SPE_MESSAGE | = 0x0C , |
||
VERIFY_PIN_DIRECT_APP_ID | = 0x0D , |
||
MODIFY_PIN_DIRECT_APP_ID | = 0x0E , |
||
WRITE_DISPLAY | = 0x0F , |
||
GET_KEY | = 0x10 , |
||
IFD_DISPLAY_PROPERTIES | = 0x11 , |
||
TLV_PROPERTIES | = 0x12 , |
||
CCID_ESC_COMMAND | = 0x13 , |
||
EXECUTE_PACE | = 0x20 |
||
) |
Check with contains first for existence of the feature, otherwise this will cause an exception.
governikus::defineEnumType | ( | IfdMessageType | , |
IFDEstablishContext | , | ||
IFDEstablishContextResponse | , | ||
IFDGetStatus | , | ||
IFDStatus | , | ||
IFDConnect | , | ||
IFDConnectResponse | , | ||
IFDDisconnect | , | ||
IFDDisconnectResponse | , | ||
IFDError | , | ||
IFDTransmit | , | ||
IFDTransmitResponse | , | ||
IFDEstablishPACEChannel | , | ||
IFDEstablishPACEChannelResponse | , | ||
IFDModifyPIN | , | ||
IFDModifyPINResponse | , | ||
UNDEFINED | |||
) |
governikus::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 | |||
) |
ECDH governikus::defineEnumType | ( | MappingType | , |
UNDEFINED | , | ||
GM | , | ||
IM | , | ||
CAM | |||
) |
governikus::defineEnumType | ( | MsgLevel | , |
v1 | = 1 , |
||
v2 | = 2 |
||
) |
governikus::defineEnumType | ( | ProtocolType | , |
UNDEFINED | , | ||
TA | , | ||
CA | , | ||
PACE | , | ||
RI | |||
) |
governikus::defineEnumType | ( | ReaderManagerPlugInType | , |
UNKNOWN | , | ||
MOCK | , | ||
PCSC | , | ||
NFC | , | ||
REMOTE_IFD | , | ||
LOCAL_IFD | , | ||
SMART | , | ||
SIMULATOR | |||
) |
Is the interface / daemon process etc. enabled?
Is there a device/interface?
governikus::defineEnumType | ( | SelfAuthDataPermission | , |
UNKNOWN | , | ||
ALLOWED | , | ||
PROHIBITED | , | ||
NOTONCHIP | |||
) |
ECDH AES_256_CBC governikus::defineEnumType | ( | SignatureType | , |
UNDEFINED | , | ||
RSA | , | ||
ECDSA | |||
) |
governikus::defineEnumType | ( | StatusFormat | , |
PLAIN | , | ||
JSON | |||
) |
Utility class for checking various constraints on URLs.
Determines the URL origin, i.e. the protocol, host name and port part of the full URL.
Checks whether the same origin policy is satisfied for the two specified URL.
Append result to URL.
governikus::defineEnumType | ( | WorkflowControl | , |
UNHANDLED | , | ||
SKIP | , | ||
ENQUEUE | |||
) |
governikus::defineTypedEnumType | ( | AccessRight | , |
uint | , | ||
WRITE_DG17 | = 37 , |
||
WRITE_DG18 | = 36 , |
||
WRITE_DG19 | = 35 , |
||
WRITE_DG20 | = 34 , |
||
WRITE_DG21 | = 33 , |
||
RFU_32 | = 32 , |
||
RFU_31 | = 31 , |
||
RFU_30 | = 30 , |
||
RFU_29 | = 29 , |
||
READ_DG21 | = 28 , |
||
READ_DG20 | = 27 , |
||
READ_DG19 | = 26 , |
||
READ_DG18 | = 25 , |
||
READ_DG17 | = 24 , |
||
READ_DG16 | = 23 , |
||
READ_DG15 | = 22 , |
||
READ_DG14 | = 21 , |
||
READ_DG13 | = 20 , |
||
READ_DG12 | = 19 , |
||
READ_DG11 | = 18 , |
||
READ_DG10 | = 17 , |
||
READ_DG09 | = 16 , |
||
READ_DG08 | = 15 , |
||
READ_DG07 | = 14 , |
||
READ_DG06 | = 13 , |
||
READ_DG05 | = 12 , |
||
READ_DG04 | = 11 , |
||
READ_DG03 | = 10 , |
||
READ_DG02 | = 9 , |
||
READ_DG01 | = 8 , |
||
INSTALL_QUAL_CERT | = 7 , |
||
INSTALL_CERT | = 6 , |
||
PIN_MANAGEMENT | = 5 , |
||
CAN_ALLOWED | = 4 , |
||
PRIVILEGED_TERMINAL | = 3 , |
||
RESTRICTED_IDENTIFICATION | = 2 , |
||
COMMUNITY_ID_VERIFICATION | = 1 , |
||
AGE_VERIFICATION | = 0 |
||
) |
governikus::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 |
||
) |
governikus::defineTypedEnumType | ( | StatusCode | , |
quint16 | , | ||
UNKNOWN | = 0x0000 , |
||
SUCCESS | = 0x9000 , |
||
NO_PKCS15_APP | = 0x6200 , |
||
END_OF_FILE | = 0x6282 , |
||
PIN_DEACTIVATED | = 0x6283 , |
||
FCI_NO_ISO7816_4 | = 0x6284 , |
||
VERIFICATION_FAILED | = 0x6300 , |
||
INPUT_TIMEOUT | = 0x6400 , |
||
INPUT_CANCELLED | = 0x6401 , |
||
PASSWORDS_DIFFER | = 0x6402 , |
||
PASSWORD_OUTOF_RANGE | = 0x6403 , |
||
CARD_EJECTED_AND_REINSERTED | = 0x64A2 , |
||
EEPROM_CELL_DEFECT | = 0x6581 , |
||
SECURITY_ENVIRONMENT | = 0x6600 , |
||
WRONG_LENGTH | = 0x6700 , |
||
NO_BINARY_FILE | = 0x6981 , |
||
LAST_CHAIN_CMD_EXPECTED | = 0x6883 , |
||
ACCESS_DENIED | = 0x6982 , |
||
PASSWORD_COUNTER_EXPIRED | = 0x6983 , |
||
DIRECTORY_OR_PASSWORD_LOCKED_OR_NOT_ALLOWED | = 0x6984 , |
||
NO_PARENT_FILE | = 0x6985 , |
||
NOT_YET_INITIALIZED | = 0x6985 , |
||
NO_CURRENT_DIRECTORY_SELECTED | = 0x6986 , |
||
DATAFIELD_EXPECTED | = 0x6987 , |
||
INVALID_SM_OBJECTS | = 0x6988 , |
||
COMMAND_NOT_ALLOWED | = 0x69F0 , |
||
INVALID_DATAFIELD | = 0x6A80 , |
||
ALGORITHM_ID | = 0x6A81 , |
||
FILE_NOT_FOUND | = 0x6A82 , |
||
RECORD_NOT_FOUND | = 0x6A83 , |
||
INVALID_PARAMETER | = 0x6A86 , |
||
LC_INCONSISTANT | = 0x6A87 , |
||
PASSWORD_NOT_FOUND | = 0x6A88 , |
||
ILLEGAL_OFFSET | = 0x6B00 , |
||
UNSUPPORTED_CLA | = 0x6E00 , |
||
CANT_DISPLAY | = 0x6410 , |
||
INVALID_P1P2 | = 0x6A00 , |
||
UNSUPPORTED_INS | = 0x6D00 , |
||
PIN_BLOCKED | = 0x63C0 , |
||
PIN_SUSPENDED | = 0x63C1 , |
||
PIN_RETRY_COUNT_2 | = 0x63C2 , |
||
INITIAL_PIN_BLOCKED | = 0x63D0 , |
||
INITIAL_PIN_RETRY_COUNT_1 | = 0x63D1 , |
||
INITIAL_PIN_RETRY_COUNT_2 | = 0x63D2 , |
||
INITIAL_PIN_RETRY_COUNT_3 | = 0x63D3 |
||
) |
QString governikus::dequeueReceivedParameter | ( | ) |
QByteArray governikus::encode | ( | ) | const |
Default template function for encoding an OpenSSL type.
This must be specialized for each ASN.1 type.
Template function for encoding an OpenSSL type as DER encoded QByteArray.
std::enable_if_t<!std::is_void_v< T >, QVector< T > > governikus::filter | ( | const std::function< bool(const T &)> & | pFunc, |
const QVector< T > & | pItems | ||
) |
Default template function for freeing an OpenSSL type.
This must be specialized for each ASN.1 type.
QString governikus::generateMailBody | ( | const GlobalStatus & | pStatus, |
const QUrl & | pServiceUrl, | ||
bool | pPercentEncoding, | ||
bool | pAddLogNotice | ||
) |
QSet< AccessRight > governikus::getAccessRights | ( | ) | const |
AccessRole CHAT::getAccessRole | ( | ) | const |
QByteArray ApplicationTemplate::getAid | ( | ) | const |
Returns the protocol AID.
const CVCertificateBody & governikus::getBody | ( | ) | const |
QDate CVCertificateBody::getCertificateEffectiveDate | ( | ) | const |
QDate CVCertificateBody::getCertificateExpirationDate | ( | ) | const |
QByteArray CVCertificateBody::getCertificateHolderReference | ( | ) | const |
QByteArray CVCertificateBody::getCertificateProfileIdentifier | ( | ) | const |
QByteArray CVCertificateBody::getCertificationAuthorityReference | ( | ) | const |
const CHAT & CVCertificateBody::getCHAT | ( | ) | const |
QByteArray CVCertificate::getDerSignature | ( | ) | const |
const ECDSA_SIG * CVCertificate::getEcdsaSignature | ( | ) | const |
QHash< Oid, QByteArray > CVCertificateBody::getExtensions | ( | ) | const |
QCryptographicHash::Algorithm SecurityProtocol::getHashAlgorithm | ( | ) | const |
Oid governikus::getOid | ( | ) | const |
Returns the raw bytes of the OID value, i.e. not the tag and not the length structure, but the value bytes.
QByteArray governikus::getOpenSslError | ( | ) |
Copyright (c) 2018-2023 Governikus GmbH & Co. KG, Germany
const EcdsaPublicKey & CVCertificateBody::getPublicKey | ( | ) | const |
QByteArray CVCertificate::getRawBody | ( | ) | const |
QByteArray CVCertificate::getRawSignature | ( | ) | const |
SecurityProtocol EcdsaPublicKey::getSecurityProtocol | ( | ) | const |
QByteArray CHAT::getTemplate | ( | ) | const |
Oid governikus::getType | ( | ) | const |
QByteArray EcdsaPublicKey::getUncompressedPublicPoint | ( | ) | const |
bool CHAT::hasAccessRight | ( | AccessRight | pAccessRight | ) | const |
int governikus::initApp | ( | int & | argc, |
char ** | argv | ||
) |
void governikus::initMock | ( | ) |
bool EcdsaPublicKey::isComplete | ( | ) | const |
bool governikus::isIssuedBy | ( | const cvcertificate_st & | pIssuer | ) | const |
bool CVCertificate::isValidOn | ( | const QDateTime & | pValidationDate | ) | const |
std::enable_if_t<!std::is_void_v< T >, QList< T > > governikus::map | ( | const std::function< T(const S &)> & | pFunc, |
const QList< S > & | pItems | ||
) |
Default template function for creating an OpenSSL type.
This must be specialized for each ASN.1 type.
QSharedPointer< T > governikus::newObject | ( | T * | pObject = newAsn1Object<T>() | ) |
Template function for creating a SharedPointer holding an ASN.1 OpenSSL type.
|
inline |
|
inline |
|
inline |
|
inline |
QDebug governikus::operator<< | ( | QDebug | pDbg, |
const CardInfo & | pCardInfo | ||
) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
delete |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
void CHAT::removeAccessRight | ( | AccessRight | pAccessRight | ) |
void CHAT::removeAllAccessRights | ( | ) |
void CHAT::setAccessRights | ( | const QSet< AccessRight > & | pAccessRights | ) |
void governikus::setApduCommandResult | ( | const GenericDataResult & | pResult | ) |
void CVCertificateBody::setCertificateEffectiveDate | ( | QDate | date | ) |
void CVCertificateBody::setCertificateExpirationDate | ( | QDate | date | ) |
void governikus::setDeletePersonalizationResult | ( | EidServiceResult | pResult | ) |
void governikus::setDeleteSmartEidResult | ( | EidServiceResult | pResult | ) |
void governikus::setEphemeralResult | ( | bool | pEphemeral = true | ) |
void governikus::setInitializePersonalizationResult | ( | const InitializeResult & | pResult | ) |
void governikus::setInstallSmartEidResult | ( | EidServiceResult | pResult | ) |
void governikus::setPersonalizationResult | ( | const GenericDataResult & | pResult | ) |
void governikus::setServiceInformation | ( | const ServiceInformationResult & | pResult | ) |
void governikus::setSmartEidStatus | ( | EidStatus | pStatus | ) |
void governikus::setSmartEidSupportStatus | ( | EidSupportStatus | pStatus | ) |
void governikus::setSmartEidSupportStatusResult | ( | EidSupportStatusResult | pStatus | ) |
void governikus::shutdownApp | ( | ) |
governikus::STACK_OF | ( | CERTIFICATEEXTENSION | ) |
char * governikus::toString | ( | const CommandApdu & | pCommandApdu | ) |
char * governikus::toString | ( | const ResponseApdu & | pResponseApdu | ) |
ApplicationTemplate::~application_template_st | ( | ) |
chat_st::~chat_st | ( | ) |
governikus::AcademicTitle |
governikus::ACCESS_RIGHTS |
governikus::Address = TYPE(AccessRight::READ_DG17) |
governikus::AddressVerification = TYPE(AccessRight::COMMUNITY_ID_VERIFICATION) |
ECDH governikus::AES_128_CBC |
ECDH governikus::AES_192_CBC |
governikus::AgeVerification = TYPE(AccessRight::AGE_VERIFICATION) |
governikus::API_LEVEL |
governikus::ArtisticName = TYPE(AccessRight::READ_DG06) |
governikus::AUTH |
governikus::BAD_STATE |
governikus::BirthName = TYPE(AccessRight::READ_DG13) |
governikus::CanAllowed = TYPE(AccessRight::CAN_ALLOWED) |
governikus::CERTIFICATE |
governikus::CHANGE_PIN |
governikus::char |
governikus::CLASS_NOT_SUPPORTED = 0x6E |
governikus::DateOfBirth = TYPE(AccessRight::READ_DG08) |
governikus::DateOfExpiry |
ECDH governikus::DES3_CBC |
governikus::DH |
governikus::DoctoralDegree = TYPE(AccessRight::READ_DG07) |
governikus::DocumentType = TYPE(AccessRight::READ_DG01) |
governikus::ENTER_CAN |
governikus::ENTER_NEW_PIN |
governikus::ENTER_PIN |
governikus::ERROR_COMMAND_NOT_ALLOWED = 0x69 |
governikus::FamilyName = TYPE(AccessRight::READ_DG05) |
governikus::FamilyNames |
governikus::FUNCTIONS_IN_CLASS_NOT_SUPPORTED = 0x68 |
governikus::GivenNames = TYPE(AccessRight::READ_DG04) |
governikus::INFO |
governikus::INSERT_CARD |
governikus::INSTRUCTION_CODE_INVALID = 0x6D |
governikus::INTERNAL_ERROR |
governikus::INVALID |
governikus::IssuingCountry = TYPE(AccessRight::READ_DG02) |
governikus::IssuingState |
governikus::LOG |
ASN1_PRINTABLESTRING* governikus::mApplicationLabel |
ASN1_OCTET_STRING* governikus::mAuthenticationToken |
ASN1_OCTET_STRING* governikus::mBasePoint |
ASN1_OCTET_STRING* governikus::mCarCurr |
ASN1_OCTET_STRING* governikus::mCarPrev |
ASN1_STRING* governikus::mCertificateHolderReference |
ASN1_STRING* governikus::mCertificationAuthorityReference |
CHAT* governikus::mChat |
ASN1_OCTET_STRING* governikus::mCofactor |
ASN1_OCTET_STRING* governikus::mCommandApdu |
ASN1_OCTET_STRING* governikus::mDiscretionaryData |
ECDSA_SIG* governikus::mEcdsaSignature |
ASN1_OCTET_STRING* governikus::mEffectiveDate |
ASN1_OCTET_STRING* governikus::mExpirationDate |
ASN1_TYPE* governikus::mExtInfo |
ASN1_OCTET_STRING* governikus::mFileReference |
ASN1_OCTET_STRING* governikus::mFirstCoefficient |
ASN1_OCTET_STRING* governikus::mObject1 |
ASN1_OCTET_STRING* governikus::mObject2 |
ASN1_OCTET_STRING* governikus::mObject3 |
ASN1_OCTET_STRING* governikus::mObject4 |
ASN1_OCTET_STRING* governikus::mObject5 |
ASN1_OCTET_STRING* governikus::mObject6 |
ASN1_OCTET_STRING* governikus::mObject7 |
ASN1_OCTET_STRING* governikus::mObject8 |
ASN1_OCTET_STRING* governikus::mOrderOfTheBasePoint |
governikus::MORE_DATA_AVAILABLE = 0x61 |
ASN1_OCTET_STRING* governikus::mPrimeModulus |
EcdsaPublicKey* governikus::mPublicKey |
ASN1_OCTET_STRING* governikus::mPublicPoint |
ASN1_OCTET_STRING* governikus::mSecondCoefficient |
SIGNATURE* governikus::mSignature |
ASN1_OCTET_STRING* governikus::mTemplate |
ASN1_OCTET_STRING* governikus::mUniformResourceLocator |
governikus::Nationality = TYPE(AccessRight::READ_DG10) |
governikus::NO_PRECISE_DIAGNOSIS = 0x6F |
governikus::NONVOLATILE_MEMORY_CHANGED_1 = 0x63 |
governikus::NONVOLATILE_MEMORY_CHANGED_2 = 0x65 |
governikus::NONVOLATILE_MEMORY_UNCHANGED_1 = 0x62 |
governikus::NONVOLATILE_MEMORY_UNCHANGED_2 = 0x64 |
governikus::PACE_CAN = 0x02 |
governikus::PACE_MRZ = 0x01 |
governikus::PACE_PIN = 0x03 |
governikus::PERSONALIZATION |
governikus::PinManagement |
governikus::PlaceOfBirth = TYPE(AccessRight::READ_DG09) |
governikus::PlaceOfResidence |
governikus::PlaceOfResidenceCity |
governikus::PlaceOfResidenceCountry |
governikus::PlaceOfResidenceStreet |
governikus::PlaceOfResidenceZipCode |
governikus::PlaceVerification |
governikus::Pseudonym = TYPE(AccessRight::RESTRICTED_IDENTIFICATION) |
governikus::quint8 |
governikus::READER |
governikus::READER_LIST |
governikus::ResidencePermitI = TYPE(AccessRight::READ_DG19) |
governikus::ResidencePermitII = TYPE(AccessRight::READ_DG20) |
governikus::RestrictedID |
governikus::SECURITY_ISSUE = 0x66 |
governikus::STATUS |
governikus::SUCCESS |
ECDH governikus::UNDEFINED |
governikus::UNKNOWN = 0x00 |
governikus::UNKNOWN_COMMAND |
governikus::ValidUntil = TYPE(AccessRight::READ_DG03) |
governikus::VOID |
governikus::WriteAddress = TYPE(AccessRight::WRITE_DG17) |
governikus::WriteCommunityID = TYPE(AccessRight::WRITE_DG18) |
governikus::WriteResidencePermitI = TYPE(AccessRight::WRITE_DG19) |
governikus::WriteResidencePermitII = TYPE(AccessRight::WRITE_DG20) |
governikus::WRONG_LE_FIELD = 0x6C |
governikus::WRONG_LENGTH = 0x67 |
governikus::WRONG_PARAMETERS_P1_P2 = 0x6A |
governikus::WRONG_PARAMETERS_P1_P2_NO_INFO = 0x6B |