AusweisApp2
|
Implementation of ActivationContext for Intent based activation on Android systems. Mehr ...
Namensbereiche | |
KnownOIDs | |
Typdefinitionen | |
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 | 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 | Origin = GlobalStatus::Origin |
using | SignatureAlgorithmPair = QPair< QSsl::KeyAlgorithm, QCryptographicHash::Algorithm > |
Funktionen | |
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 | |
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 (T *, unsigned char **) |
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 unsigned char **, 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 ... | |
QByteArray | encode () const |
chat_st (const chat_st &pCopy) | |
chat_st & | operator= (const chat_st &)=delete |
~chat_st () | |
void | setType (const QByteArray &pOidAsText) |
QByteArray | getType () const |
void | setTemplate (const QByteArray &pValue) |
QByteArray | getTemplate () const |
void | setAccessRole (AccessRole pRole) |
AccessRole | getAccessRole () const |
QSet< AccessRight > | getAccessRights () const |
void | setAccessRights (const QSet< AccessRight > &pAccessRights) |
void | setAccessRight (AccessRight pAccessRight) |
bool | hasAccessRight (AccessRight pAccessRight) const |
void | removeAllAccessRights () |
void | removeAccessRight (AccessRight pAccessRight) |
template<> | |
chipauthenticationinfo_st * | decodeAsn1Object< chipauthenticationinfo_st > (chipauthenticationinfo_st **pObject, const unsigned char **pData, long pDataLen) |
template<> | |
void | freeAsn1Object< chipauthenticationinfo_st > (chipauthenticationinfo_st *pObject) |
const CVCertificateBody & | getBody () const |
QByteArray | getRawBody () const |
const ECDSA_SIG * | getEcdsaSignature () const |
QByteArray | getRawSignature () 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 |
QMap< QByteArray, QByteArray > | getExtensions () const |
QByteArray | getPublicKeyOid () const |
QByteArray | getPublicKeyOidValueBytes () const |
QByteArray | getUncompressedPublicPoint () const |
const EC_KEY * | getEcKey () const |
template<> | |
CMS_ContentInfo * | decodeAsn1Object< CMS_ContentInfo > (CMS_ContentInfo **pObject, const unsigned char **pData, long pDataLen) |
template<> | |
void | freeAsn1Object< CMS_ContentInfo > (CMS_ContentInfo *pObject) |
defineEnumType (KeyAgreementType, DH, ECDH) defineEnumType(MappingType | |
Method used for key agreement: Mehr ... | |
template<> | |
paceinfo_st * | decodeAsn1Object< paceinfo_st > (paceinfo_st **pObject, const unsigned char **pData, long pDataLen) |
template<> | |
void | freeAsn1Object< paceinfo_st > (paceinfo_st *pObject) |
QDebug | operator<< (QDebug pDbg, const CardInfo &pCardInfo) |
defineEnumType (ReaderManagerPlugInType, UNKNOWN, PCSC, BLUETOOTH, NFC, REMOTE) class ReaderManagerPlugInInfo | |
defineTypedEnumType (StatusCode, quint16, EMPTY=0x0000, INVALID=0x0001, 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,) defineTypedEnumType(SW1 | |
bool | operator== (const ResponseApduResult &pLeft, const ResponseApduResult &pRight) |
defineEnumType (CardType, NONE, UNKNOWN, PASSPORT, EID_CARD) defineTypedEnumType(PacePasswordId | |
defineTypedEnumType (BluetoothMsgId, char, ConnectRequest=0x00, ConnectResponse=0x01, DisconnectRequest=0x02, DisconnectResponse=0x03, DisconnectInd=0x04, TransferApduRequest=0x05, TransferApduResponse=0x06, TransferAtrRequest=0x07, TransferAtrResponse=0x08, PowerSimOffRequest=0x0A, PowerSimOffResponse=0x0A, PowerSimOnRequest=0x0B, PowerSimOnResponse=0x0C, ResetSimRequest=0x0D, ResetSimResponse=0x0E, TransferCardReaderStatusRequest=0x0F, TransferCardReaderStatusResponse=0x10, StatusInd=0x11, ErrorResponse=0x12, SetTransportProtocolRequest=0x13, SetTransportProtocolResponse=0x14) defineTypedEnumType(BluetoothParamId | |
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) |
defineEnumType (PaceCapabilityId, ESIGN=0x10, EID=0x20, GENERIC=0x40, DESTROY_CHANNEL=0x80) class PcscReaderPaceCapability | |
QDebug | operator<< (QDebug pDbg, const governikus::PcscReaderPaceCapability &pPcscReaderPaceCapability) |
bool | operator== (const CallCost &pLeft, const CallCost &pRight) |
bool | operator== (const LanguageString &pLeft, const LanguageString &pRight) |
uint | qHash (const ReaderConfigurationInfo &info) |
defineEnumType (Action, NONE, AUTH, SELF, PIN, READER_SETTINGS, REMOTE_SERVICE) class WorkflowController | |
defineEnumType (SelfAuthDataPermission, UNKNOWN, ALLOWED, PROHIBITED, NOTONCHIP) defineEnumType(SelfAuthData | |
defineEnumType (CardReturnCode, UNDEFINED, OK, OK_PUK, RETRY_ALLOWED, CARD_NOT_FOUND, UNKNOWN, INPUT_TIME_OUT, INVALID_CAN, 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, 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<!std::is_void< T >::value, QVector< T > >::type | map (const std::function< T(const S &)> &pFunc, const QVector< S > &pItems) |
template<typename S , typename T > | |
std::enable_if<!std::is_void< T >::value, QList< T > >::type | map (const std::function< T(const S &)> &pFunc, const QList< S > &pItems) |
template<typename T > | |
std::enable_if<!std::is_void< T >::value, QVector< T > >::type | 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) |
int | initApp (int &argc, char **argv) |
template<> | |
DatagramHandler * | createNewObject< DatagramHandler * > () |
template<> | |
DatagramHandler * | createNewObject< DatagramHandler *, bool > (bool &&pEnableListening) |
QDebug | operator<< (QDebug pDbg, const IfdVersion &pVersion) |
defineEnumType (RemoteCardMessageType, IFDEstablishContext, IFDEstablishContextResponse, IFDGetStatus, IFDStatus, IFDConnect, IFDConnectResponse, IFDDisconnect, IFDDisconnectResponse, IFDError, IFDTransmit, IFDTransmitResponse, IFDEstablishPACEChannel, IFDEstablishPACEChannelResponse, IFDModifyPIN, IFDModifyPINResponse, UNDEFINED) class RemoteMessage | |
template<> | |
RemoteConnector * | createNewObject< RemoteConnector * > () |
QDebug | operator<< (QDebug pDbg, const RemoteDeviceDescriptor &pRemoteDeviceDescriptor) |
template<> | |
RemoteDeviceList * | createNewObject< RemoteDeviceList * > () |
template<> | |
RemoteDeviceList * | createNewObject< RemoteDeviceList *, int, int > (int &&pCheckInterval, int &&pTimeout) |
template<> | |
RemoteDispatcherClient * | createNewObject< RemoteDispatcherClient *, IfdVersion::Version &&, const QSharedPointer< DataChannel > & > (IfdVersion::Version &&pVersion, const QSharedPointer< DataChannel > &pChannel) |
template<> | |
RemoteDispatcherServer * | createNewObject< RemoteDispatcherServer *, const QSharedPointer< DataChannel > & > (const QSharedPointer< DataChannel > &pChannel) |
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<> | |
RemoteServer * | createNewObject< RemoteServer * > () |
template<> | |
RemoteWebSocketServer * | createNewObject< RemoteWebSocketServer * > () |
template<> | |
ServerMessageHandler * | createNewObject< ServerMessageHandler *, QSharedPointer< governikus::DataChannel > & > (QSharedPointer< DataChannel > &pChannel) |
bool | operator== (const TlsConfiguration &pLeft, const TlsConfiguration &pRight) |
bool | operator!= (const TlsConfiguration &pLeft, const TlsConfiguration &pRight) |
QString | generateMailBody (const GlobalStatus &pStatus, const QUrl &pServiceUrl) |
QDebug | operator<< (QDebug pDbg, const MsgHandler &pMsg) |
defineEnumType (MsgLevel, v1=1) defineEnumType(MsgType | |
bool | isPlatform (const QObject &object, const Platform selector) |
defineEnumType (Platform, ANDROID, IOS, MOBILE, DESKTOP) bool isPlatform(const QObject & | |
Determine platform at runtime. Use this instead of the preprocessor to allow running the mobile UI on the desktop. Mehr ... | |
Implementation of ActivationContext for Intent based activation on Android systems.
Class holding information about an Android device to be sent to the whitelist server.
Enum identifying the containers in the application GUI which can be parent to a workflow widget.
Qt widget based WorkflowSelfInfoUi implementation.
Base class for workflow Qt GUI widgets.
Base class for Qt based WorkflowUi implementations.
Qt widget based WorkflowChangePinUi implementation.
Qt widget based WorkflowAuthenticateUi implementation.
Generic base class for Qt based WorkflowUi implementations.
QWidgets implementation of UIPlugIn.
GUI for step "Error".
GUI to select reader/card.
Qt UI for the authentication done step.
Qt UI for the advise user to remove card step.
Setup assistant wizard before application startup.
Qt widget based SetupAssistantUi implementation.
Qt widget based ReaderDriverUi implementation.
Contains the accessibility friendly TabButtonGroup and TabButton classes.
Widget for entering a password that uses the password echo mode.
Gui utility functions.
Defines the GuiModule enum.
Rudimentary replacement for QButtonGroup to work around tab navigation issues.
Defines the ButtonState enum.
An overlay to show a busy indicator.
Qt widget based DiagnosisUi implementation.
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 the providers.
Model for accessing PIN, CAN, PUK, according to the currently active workflow.
A filter to search the history model.
Model implementation for the PIN action.
Model implementation for the CV certificate description.
Model implementation for the authentication action.
Model implementation for the application.
UIPlugIn implementation of the Json API.
Enumerations of message types and additional stuff.
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 EnterCan 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.
Model implementation for the reader driver table.
Abstract layer to UI implementations.
Loader to initialize UIPlugIns.
UIPlugIn implementation of the AIDL UI.
Represents history settings.
Update data implementation for application version.
Implementation of DataChannel base on web sockets.
Handler for messages on the server side of a smartphone as card reader (SaC) scenario.
WebSocketServer on the server side of a smartphone as card reader (SaC) scenario.
QTcpServer with necessary TLS handling of remote device configuration.
Remote server service to offer smartphones as card readers (SaCs).
Component advertising the smartphone as card reader (SaC) functionality on the server side.
Class that dispatches incoming and outgoing remote messages.
An interface for RemoteHandleImpl, meant to omit the dependency between card_base and remote_device.
Interface for RemoteDeviceList.
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 RemoteClientImpl, meant to omit the dependency between card_base and remote_device.
Implementation of ReaderManagerPlugIn for smartphone as card reader (SaC).
Implementation of Reader for smartphone as card reader (SaC).
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.
Helper to convert Result to Redirect-Result-String and some other URL stuff.
Helper to check certificates and other security stuff of TLS/SSL.
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.
Extension to QVersionNumber.
Helper to get a Randomizer.
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.
State to process StartPaosResponse from Server.
State machine state: Start PAOS.
Send a redirect to the browser.
Sends a HTTP-Processing to the browser.
State to process certificates from EAC2.
Implements the parsing of TcTokenUrl in header of browser request.
Loads the tcTokenUrl for triggering the self authentication from secure storage.
State to process InputType of EAC1.
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.
Stop the remote service.
Start the remote service.
This state executes the remote message PACE channel establish.
This state executes the remote message IfdModifyPin.
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.
Parses self authentication data from JSON data and provides its content.
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.
Class represents the retrieved PAOS Disconnect.
Class represents the retrieved PAOS DIDList.
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 DisconnectResponse.
Generate information for DIDListResponse.
Generate information for DIDAuthenticateResponseEAC2.
Generate information for DIDAuthenticateResponseEAC1.
Example class.
XML element for "SupportedAPI".
Base class for all XML element parser.
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 self authentication process.
Controller for the remote service process.
Controller for retrieving and presenting diagnosis info.
Controller for the PIN changing process.
Controller for the authentication process.
Workflow context.
Self authentication context.
Remote service context.
Contains information collected by the diagnosis functionality.
Context for changing the Pin.
Contains the definition of the CertificateChecker class.
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.
toString method for PCSC_RETURNCODE and platform dependent typedefs for PCSC types.
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.
Implementation of ReaderManagerPlugIn for NFC on iOS.
Implementation of IosReaderDelegate for iOS.
Implementation of Reader for iOS.
Implementation of Card for iOS.
Interface specifying classes that can detect the attached card reader devices on a specific platform.
Helper class to make a synchronous call to a Bluetooth device, i.e.
If a QLowEnergyCharacteristic is able to notify about changes, i.e.
Implements special BluetoothMessageParameter for StatusChange.
Implements special BluetoothMessageParameter for ResultCode.
Implements special BluetoothMessageParameter for MaxMsgSize.
Implements special BluetoothMessageParameter for ConnectionStatus.
Implements special BluetoothMessageParameter for TransferApduResponse.
Implements message parameter of SIM ACCESS spec.
Some helper utils for bluetooth messages.
Implements special BluetoothMessage for StatusInd.
Store information of SetTransportProtocolResponse.
Parses messages of bluetooth SIM ACCESS protocol.
Provides an easy to use API to create requests.
Add message and parameter types of bluetooth SIM ACCESS spec.
Implementation of a Reiner SCT cyberJack wave device.
Private implementation part of the ReaderManagerPlugIn with Qt'S Bluetooth API.
Implements the ReaderManagerPlugIn with Qt'S Bluetooth API.
Implementation of Reader object for Bluetooth based card reader.
Implementation of Card object for Bluetooth.
This class accesses the java class android.bluetooth.BluetoothAdapter.
Response APDU for SecureMessaging.
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.
This class is only to mark it as a workaround for working with the PersoSim.
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.
Mapping protocol for PACE domain parameters.
CMAC implementation to be used in PACE protocol.
Holds the data of an InputAPDUInfo element.
Implementation of GeneralAuthenticate response APDUs.
Reference information for files on smart cards.
Parser to decapsulation EstablishPACEChannel.
Data object for output of card command EstablishPaceChannel.
Data object for creation of card command DestroyPACEChannel.
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 PACEInfo.
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.
Defines the AccessRight and AccessRole enum.
A simple template renderer.
ActivationHandler for Internal usage like JSON API.
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.
it has property QLowEnergyCharacteristic::PropertyType::Notify, one needs to enable notification explicitly. To stop notifications one need to disable it explicitly.
For details see the Qt documentation on QLowEnergyService and topic "Service Interaction".
send the request data and wait for the response data to arrive.
See TR-03112-7.
It is parameterized over the model type and contains a getter for the model. 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, ...
Extract certificates and set it to context.
According to the concept this is done by sending the message REMOTE_READER_OFFER as a UDP broadcast.
This class controls the advertising over UDP as well as the Websocket connection management.
Bug in Qt 5.2.1: Buttons in a QButtonGroup cannot be navigated via the Tab key. This class provides a work-around for simple cases.
The other classes defined in this header are implementation private.
using governikus::AgeVerificationDate = typedef ASN1_STRING |
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:
EcdsaPubilcKey ::= [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::SignatureAlgorithmPair = typedef QPair<QSsl::KeyAlgorithm, QCryptographicHash::Algorithm> |
using governikus::ValidityDate = typedef ASN1_OCTET_STRING |
|
strong |
|
strong |
|
strong |
|
strong |
chat_st::chat_st | ( | const chat_st & | pCopy | ) |
T governikus::createNewObject | ( | Args &&... | pArgs | ) |
DatagramHandler* governikus::createNewObject< DatagramHandler *> | ( | ) |
DatagramHandler* governikus::createNewObject< DatagramHandler *, bool > | ( | bool && | pEnableListening | ) |
RemoteConnector* governikus::createNewObject< RemoteConnector *> | ( | ) |
RemoteDeviceList* governikus::createNewObject< RemoteDeviceList *> | ( | ) |
RemoteDeviceList* governikus::createNewObject< RemoteDeviceList *, int, int > | ( | int && | pCheckInterval, |
int && | pTimeout | ||
) |
RemoteDispatcherClient* governikus::createNewObject< RemoteDispatcherClient *, IfdVersion::Version &&, const QSharedPointer< DataChannel > &> | ( | IfdVersion::Version && | pVersion, |
const QSharedPointer< DataChannel > & | pChannel | ||
) |
RemoteDispatcherServer* governikus::createNewObject< RemoteDispatcherServer *, const QSharedPointer< DataChannel > &> | ( | const QSharedPointer< DataChannel > & | pChannel | ) |
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 | ||
) |
RemoteServer* governikus::createNewObject< RemoteServer *> | ( | ) |
RemoteWebSocketServer* governikus::createNewObject< RemoteWebSocketServer *> | ( | ) |
ServerMessageHandler* governikus::createNewObject< ServerMessageHandler *, QSharedPointer< governikus::DataChannel > &> | ( | QSharedPointer< DataChannel > & | pChannel | ) |
Default template function for decoding an OpenSSL type.
This must be specialized for each ASN.1 type.
chipauthenticationinfo_st* governikus::decodeAsn1Object< chipauthenticationinfo_st > | ( | chipauthenticationinfo_st ** | pObject, |
const unsigned char ** | pData, | ||
long | pDataLen | ||
) |
CMS_ContentInfo * governikus::decodeAsn1Object< CMS_ContentInfo > | ( | CMS_ContentInfo ** | pObject, |
const unsigned char ** | pData, | ||
long | pDataLen | ||
) |
paceinfo_st* governikus::decodeAsn1Object< paceinfo_st > | ( | paceinfo_st ** | pObject, |
const unsigned char ** | pData, | ||
long | pDataLen | ||
) |
QSharedPointer<T> governikus::decodeObject | ( | const QByteArray & | pData, |
bool | pLogging = true |
||
) |
Template function for decoding an OpenSSL type from DER encoded QByteArray.
governikus::defineEnumType | ( | CardType | , |
NONE | , | ||
UNKNOWN | , | ||
PASSPORT | , | ||
EID_CARD | |||
) |
governikus::defineEnumType | ( | MsgLevel | , |
v1 | = 1 |
||
) |
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 | ( | PaceCapabilityId | , |
ESIGN | = 0x10 , |
||
EID | = 0x20 , |
||
GENERIC | = 0x40 , |
||
DESTROY_CHANNEL | = 0x80 |
||
) |
governikus::defineEnumType | ( | Platform | , |
ANDROID | , | ||
IOS | , | ||
MOBILE | , | ||
DESKTOP | |||
) | const & |
Determine platform at runtime. Use this instead of the preprocessor to allow running the mobile UI on the desktop.
governikus::defineEnumType | ( | CardReturnCode | , |
UNDEFINED | , | ||
OK | , | ||
OK_PUK | , | ||
RETRY_ALLOWED | , | ||
CARD_NOT_FOUND | , | ||
UNKNOWN | , | ||
INPUT_TIME_OUT | , | ||
INVALID_CAN | , | ||
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 | , | ||
UNEXPECTED_TRANSMIT_STATUS | |||
) |
governikus::defineEnumType | ( | ReaderManagerPlugInType | , |
UNKNOWN | , | ||
PCSC | , | ||
BLUETOOTH | , | ||
NFC | , | ||
REMOTE | |||
) |
Is the interface / daemon process etc. enabled?
Is there a device/interface?
governikus::defineEnumType | ( | Action | , |
NONE | , | ||
AUTH | , | ||
SELF | , | ||
PIN | , | ||
READER_SETTINGS | , | ||
REMOTE_SERVICE | |||
) |
governikus::defineEnumType | ( | KeyAgreementType | , |
DH | , | ||
ECDH | |||
) |
Method used for key agreement:
Method used for mapping:
governikus::defineEnumType | ( | RemoteCardMessageType | , |
IFDEstablishContext | , | ||
IFDEstablishContextResponse | , | ||
IFDGetStatus | , | ||
IFDStatus | , | ||
IFDConnect | , | ||
IFDConnectResponse | , | ||
IFDDisconnect | , | ||
IFDDisconnectResponse | , | ||
IFDError | , | ||
IFDTransmit | , | ||
IFDTransmitResponse | , | ||
IFDEstablishPACEChannel | , | ||
IFDEstablishPACEChannelResponse | , | ||
IFDModifyPIN | , | ||
IFDModifyPINResponse | , | ||
UNDEFINED | |||
) |
governikus::defineEnumType | ( | SelfAuthDataPermission | , |
UNKNOWN | , | ||
ALLOWED | , | ||
PROHIBITED | , | ||
NOTONCHIP | |||
) |
governikus::defineTypedEnumType | ( | StatusCode | , |
quint16 | , | ||
EMPTY | = 0x0000 , |
||
INVALID | = 0x0001 , |
||
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 |
||
) |
governikus::defineTypedEnumType | ( | BluetoothMsgId | , |
char | , | ||
ConnectRequest | = 0x00 , |
||
ConnectResponse | = 0x01 , |
||
DisconnectRequest | = 0x02 , |
||
DisconnectResponse | = 0x03 , |
||
DisconnectInd | = 0x04 , |
||
TransferApduRequest | = 0x05 , |
||
TransferApduResponse | = 0x06 , |
||
TransferAtrRequest | = 0x07 , |
||
TransferAtrResponse | = 0x08 , |
||
PowerSimOffRequest | = 0x0A , |
||
PowerSimOffResponse | = 0x0A , |
||
PowerSimOnRequest | = 0x0B , |
||
PowerSimOnResponse | = 0x0C , |
||
ResetSimRequest | = 0x0D , |
||
ResetSimResponse | = 0x0E , |
||
TransferCardReaderStatusRequest | = 0x0F , |
||
TransferCardReaderStatusResponse | = 0x10 , |
||
StatusInd | = 0x11 , |
||
ErrorResponse | = 0x12 , |
||
SetTransportProtocolRequest | = 0x13 , |
||
SetTransportProtocolResponse | = 0x14 |
||
) |
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 |
||
) |
QByteArray governikus::encode | ( | ) | const |
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<!std::is_void<T>::value, QVector<T> >::type 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.
void governikus::freeAsn1Object< chipauthenticationinfo_st > | ( | chipauthenticationinfo_st * | pObject | ) |
void governikus::freeAsn1Object< CMS_ContentInfo > | ( | CMS_ContentInfo * | pObject | ) |
void governikus::freeAsn1Object< paceinfo_st > | ( | paceinfo_st * | pObject | ) |
QString governikus::generateMailBody | ( | const GlobalStatus & | pStatus, |
const QUrl & | pServiceUrl | ||
) |
QSet<AccessRight> governikus::getAccessRights | ( | ) | const |
AccessRole CHAT::getAccessRole | ( | ) | const |
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 |
const ECDSA_SIG * CVCertificate::getEcdsaSignature | ( | ) | const |
const EC_KEY * EcdsaPublicKey::getEcKey | ( | ) | const |
|
inline |
QMap< QByteArray, QByteArray > CVCertificateBody::getExtensions | ( | ) | const |
QCryptographicHash::Algorithm CVCertificateBody::getHashAlgorithm | ( | ) | const |
QByteArray governikus::getOpenSslError | ( | ) |
const EcdsaPublicKey & CVCertificateBody::getPublicKey | ( | ) | const |
QByteArray EcdsaPublicKey::getPublicKeyOid | ( | ) | const |
QByteArray EcdsaPublicKey::getPublicKeyOidValueBytes | ( | ) | const |
Returns the raw bytes of the OID value, i.e. not the tag and not the length structure, but the value bytes.
QByteArray CVCertificate::getRawBody | ( | ) | const |
QByteArray CVCertificate::getRawSignature | ( | ) | const |
QByteArray CHAT::getTemplate | ( | ) | const |
QByteArray governikus::getType | ( | ) | const |
QByteArray EcdsaPublicKey::getUncompressedPublicPoint | ( | ) | const |
bool CHAT::hasAccessRight | ( | AccessRight | pAccessRight | ) | const |
int governikus::initApp | ( | int & | argc, |
char ** | argv | ||
) |
bool governikus::isIssuedBy | ( | const cvcertificate_st & | pIssuer | ) | const |
bool governikus::isPlatform | ( | const QObject & | object, |
const Platform | selector | ||
) |
bool CVCertificate::isValidOn | ( | const QDateTime & | pValidationDate | ) | const |
std::enable_if<!std::is_void<T>::value, QVector<T> >::type governikus::map | ( | const std::function< T(const S &)> & | pFunc, |
const QVector< S > & | pItems | ||
) |
std::enable_if<!std::is_void<T>::value, QList<T> >::type 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 |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
QDebug governikus::operator<< | ( | QDebug | pDbg, |
const CardInfo & | pCardInfo | ||
) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
void CHAT::removeAccessRight | ( | AccessRight | pAccessRight | ) |
void CHAT::removeAllAccessRights | ( | ) |
void CHAT::setAccessRight | ( | AccessRight | pAccessRight | ) |
void CHAT::setAccessRights | ( | const QSet< AccessRight > & | pAccessRights | ) |
void CHAT::setAccessRole | ( | AccessRole | pRole | ) |
void CVCertificateBody::setCertificateEffectiveDate | ( | QDate | date | ) |
void CVCertificateBody::setCertificateExpirationDate | ( | QDate | date | ) |
void CHAT::setTemplate | ( | const QByteArray & | pValue | ) |
void CHAT::setType | ( | const QByteArray & | pOidAsText | ) |
T* governikus::singleton | ( | ) |
governikus::STACK_OF | ( | CERTIFICATEEXTENSION | ) |
chat_st::~chat_st | ( | ) |
governikus::AcademicTitle |
governikus::ACCESS_RIGHTS |
governikus::Address = TYPE(AccessRight::READ_DG17) |
governikus::AddressVerification = TYPE(AccessRight::COMMUNITY_ID_VERIFICATION) |
governikus::AgeVerification = TYPE(AccessRight::AGE_VERIFICATION) |
governikus::API_LEVEL |
governikus::ArtisticName = TYPE(AccessRight::READ_DG06) |
governikus::ATR = 0x06 |
governikus::AUTH |
governikus::BAD_STATE |
governikus::BirthName = TYPE(AccessRight::READ_DG13) |
governikus::CardReaderStatus = 0x07 |
governikus::CERTIFICATE |
governikus::char |
governikus::CLASS_NOT_SUPPORTED = 0x6e |
governikus::CommandAPDU = 0x04 |
governikus::ConnectionStatus = 0x01 |
governikus::DateOfBirth = TYPE(AccessRight::READ_DG08) |
governikus::DateOfExpiry |
governikus::DisconnectionType = 0x03 |
governikus::DoctoralDegree = TYPE(AccessRight::READ_DG07) |
governikus::DocumentType = TYPE(AccessRight::READ_DG01) |
governikus::ENTER_CAN |
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::GM |
governikus::INFO |
governikus::INSERT_CARD |
governikus::INSTRUCTION_CODE_INVALID = 0x6d |
governikus::INTERNAL_ERROR |
governikus::INVALID = 0x00 |
governikus::IssuingCountry = TYPE(AccessRight::READ_DG02) |
governikus::IssuingState |
governikus::LOG |
ASN1_OCTET_STRING* governikus::mAuthenticationToken |
governikus::MaxMsgSize = 0x00 |
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 |
ECDSA_SIG* governikus::mEcdsaSignature |
EC_KEY* governikus::mEcKey |
ASN1_OCTET_STRING* governikus::mEffectiveDate |
ASN1_OCTET_STRING* governikus::mExpirationDate |
ASN1_TYPE* governikus::mExtInfo |
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 |
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::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::ResponseAPDU = 0x05 |
governikus::RestrictedID |
governikus::ResultCode = 0x02 |
governikus::SECURITY_ISSUE = 0x66 |
Platform governikus::selector |
governikus::StatusChange = 0x08 |
governikus::SUCCESS = 0x90 |
governikus::TransportProtocol = 0x09 |
governikus::UNKNOWN = 0x00 |
governikus::UNKNOWN_COMMAND |
governikus::ValidUntil = TYPE(AccessRight::READ_DG03) |
governikus::WriteAddress = TYPE(AccessRight::WRITE_DG17) |
governikus::WriteCommunityID = TYPE(AccessRight::WRITE_DG18) |
governikus::WriteResidencePermitI = TYPE(AccessRight::WRITE_DG19) |
governikus::WriteResidencePermitII |
governikus::WRONG_LE_FIELD = 0x6c |
governikus::WRONG_LENGTH = 0x67 |
governikus::WRONG_PARAMETERS_P1_P2 = 0x6a |
governikus::WRONG_PARAMETERS_P1_P2_NO_INFO = 0x6b |