AusweisApp2
|
Implementation of GeneralAuthenticate response APDUs. Mehr ...
Typdefinitionen | |
using | GA_ENCRYPTEDNONCEDATA = struct ga_encryptednoncedata_st { ASN1_OCTET_STRING *mEncryptedNonce |
According to TR-03110-3 the ASN.1 the response APDU has one protocol specific data: Mehr ... | |
using | GA_MAPNONCEDATA = struct ga_mapnoncedata_st { ASN1_OCTET_STRING *mMappingData |
According to TR-03110-3 the ASN.1 the response APDU has one protocol specific data: Mehr ... | |
using | GA_PERFORMKEYAGREEMENTDATA = struct ga_performkeyagreementdata_st { ASN1_OCTET_STRING *mEphemeralPublicKey |
According to TR-03110-3 the ASN.1 the response APDU has one protocol specific data: Mehr ... | |
using | GA_MUTUALAUTHENTICATIONDATA = struct ga_mutualauthenticationdata_st { ASN1_OCTET_STRING *mAuthenticationToken |
According to TR-03110-3 the ASN.1 the response APDU has three protocol specific data: Mehr ... | |
using | GA_CHIPAUTHENTICATIONDATA = struct ga_chipauthenticationdata_st { ASN1_OCTET_STRING *mNonce |
According to TR-03110-3 the ASN.1 the response APDU has three protocol specific data: Mehr ... | |
using | ApplicationTemplate = struct application_template_st { ASN1_OCTET_STRING *mApplicationIdentifier |
using | ApplicationTemplatesInternal = stack_st_ApplicationTemplate |
EF.DIR = ApplicationTemplates ::= SET OF ApplicationTemplate. Mehr ... | |
using | CommunityID = TYPE(AccessRight::READ_DG18) |
using | ValidityDate = ASN1_OCTET_STRING |
using | AgeVerificationDate = ASN1_STRING |
using | AuxDataTemplate = struct auxdatatemplate_st { ASN1_OBJECT *mAuxId |
using | AuthenticatedAuxiliaryDataInternal = stack_st_AuxDataTemplate |
using | CHAT = struct chat_st { ASN1_OBJECT *mType |
According to. Mehr ... | |
using | CVCertificate = struct cvcertificate_st { CVCertificateBody *mBody |
using | CERTIFICATEEXTENSION = struct CERTIFICATEEXTENSION_st { ASN1_OBJECT *mOid |
using | CVCertificateBody = struct certificateprofilebody_st { ASN1_OCTET_STRING *mCertificateProfileIdentifier |
using | EcdsaPublicKey = struct ecdsapublickey_st { ASN1_OBJECT *mObjectIdentifier |
According to TR-03110-3 chapter D elliptic curve public keys are defined as follows: Mehr ... | |
using | securityinfos_st = struct stack_st_securityinfo_st |
using | EFCardAccess = SecurityInfos |
EFCardAccess ::= SecurityInfos. Mehr ... | |
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. Mehr ... | |
template<typename T > | |
QSharedPointer< T > | newObject (T *pObject=newAsn1Object< T >()) |
Template function for creating a SharedPointer holding an ASN.1 OpenSSL type. Mehr ... | |
template<typename T > | |
int | encodeAsn1Object (const T *, uchar **) |
Default template function for encoding an OpenSSL type. Mehr ... | |
template<typename T > | |
QByteArray | encodeObject (T *pObject) |
Template function for encoding an OpenSSL type as DER encoded QByteArray. Mehr ... | |
template<typename T > | |
T * | decodeAsn1Object (T **, const uchar **, long) |
Default template function for decoding an OpenSSL type. Mehr ... | |
template<typename T > | |
void | freeAsn1Object (T *) |
Default template function for freeing an OpenSSL type. Mehr ... | |
template<typename T > | |
QSharedPointer< T > | decodeObject (const QByteArray &pData, bool pLogging=true) |
Template function for decoding an OpenSSL type from DER encoded QByteArray. Mehr ... | |
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 | setUpdateInfo (EidUpdateInfo pStatus) |
void | setSmartEidStatus (EidStatus pStatus) |
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 () |
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, NO_ACTIVE_PIN_SET, PROTOCOL_ERROR, EXTENDED_LENGTH_MISSING, 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) |
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 & > (const QString &pIfdName, const QString &pIfdId, quint16 &pPort) |
template<> | |
RemoteReaderAdvertiser * | createNewObject< RemoteReaderAdvertiser *, const QString &, const QString &, quint16 &, int & > (const QString &pIfdName, const QString &pIfdId, quint16 &pPort, int &pTimerInterval) |
template<> | |
RemoteWebSocketServer * | createNewObject< RemoteWebSocketServer * > () |
int | initApp (int &argc, char **argv) |
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. Mehr ... | |
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 to process StartPaosResponse from Server.
State that retrieves the Smart-eID TcTokenURL from the Secure Storage.
State that checks if the Smart-eID functionality 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.
Sends a HTTP-Processing to the browser.
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.
Base class for all states taken by the state machine.
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.
Base class for controllers controlling a workflow (using a state machine).
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.
UIPlugIn implementation of QML.
Model implementation for the settings.
Model implementation for the self authentication workflow.
Model implementation for the remote service component.
Model implementation for recognized readers.
Model implementation for the providers.
Model implementation for Smart-eID workflow.
Model for accessing PIN, CAN, PUK, according to the currently active workflow.
A filter to search the history model.
Model implementation for displaying simple formatted text.
Model implementation for checking the ID card in "playground".
Model implementation for the PIN action.
Model implementation for the CV certificate description.
Description of recommended card position.
Model implementation for the authentication action.
Model implementation for the application.
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.
Represents history settings.
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.
Utility class to set a timeout on a QNetworkReply.
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 ReaderManagerPlugIn for smartphone as card reader (SaC).
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.
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.
Tool to export data of history or selfauthentication result.
Tool to create PDF-Documents.
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.
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 ReaderManagerPlugIn for PCSC.
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.
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.
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.
OpenSSL type declarations
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().
See TR 03110.
For details see TR 03110.
If you implement a class of this PlugIn you need to register it in ReaderManager, otherwise it won't be used.
This class controls the advertising over UDP as well as the Websocket connection management.
According to the concept this is done by sending the message REMOTE_READER_OFFER as a UDP broadcast.
See TR-03112-7.
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.
those stored in the AuthContext) are in the CertificateDescription extension of the eService certificate.
disconnects all readers, clears the card connection, ...
using governikus::AgeVerificationDate = typedef ASN1_STRING |
using governikus::ApplicationTemplate = typedef struct 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_st_ApplicationTemplate |
EF.DIR = ApplicationTemplates ::= SET OF ApplicationTemplate.
defined in ISO 7816-4:2005 8.2.1.1
using governikus::AuthenticatedAuxiliaryDataInternal = typedef stack_st_AuxDataTemplate |
using governikus::AuxDataTemplate = typedef struct 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 struct CERTIFICATEEXTENSION_st { ASN1_OBJECT* mOid |
using governikus::CHAT = typedef struct 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 struct cvcertificate_st { CVCertificateBody* mBody |
using governikus::CVCertificateBody = typedef struct certificateprofilebody_st { ASN1_OCTET_STRING* mCertificateProfileIdentifier |
using governikus::EcdsaPublicKey = typedef struct 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 struct 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 struct 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 struct 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 struct 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 struct 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 struct 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 |
T governikus::createNewObject | ( | Args &&... | pArgs | ) |
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 | ) |
LocalWebSocketServer* governikus::createNewObject< LocalWebSocketServer * > | ( | ) |
RemoteReaderAdvertiser* governikus::createNewObject< RemoteReaderAdvertiser *, const QString &, const QString &, quint16 & > | ( | const QString & | pIfdName, |
const QString & | pIfdId, | ||
quint16 & | pPort | ||
) |
RemoteReaderAdvertiser* governikus::createNewObject< RemoteReaderAdvertiser *, const QString &, const QString &, quint16 &, int & > | ( | const QString & | pIfdName, |
const QString & | pIfdId, | ||
quint16 & | pPort, | ||
int & | pTimerInterval | ||
) |
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 | , | ||
NO_ACTIVE_PIN_SET | , | ||
PROTOCOL_ERROR | , | ||
EXTENDED_LENGTH_MISSING | , | ||
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 |
||
) |
QByteArray governikus::encode | ( | ) | const |
int governikus::encodeAsn1Object | ( | const T * | , |
uchar ** | |||
) |
Default template function for encoding an OpenSSL type.
This must be specialized for each ASN.1 type.
QByteArray governikus::encodeObject | ( | T * | pObject | ) |
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 | ||
) |
void governikus::freeAsn1Object | ( | T * | ) |
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 |
|
inline |
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 | ( | ) |
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 | ||
) |
T* governikus::newAsn1Object | ( | ) |
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::setSmartEidStatus | ( | EidStatus | pStatus | ) |
void governikus::setUpdateInfo | ( | EidUpdateInfo | pStatus | ) |
T* governikus::singleton | ( | ) |
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 |