AusweisApp
Lade ...
Suche ...
Keine Treffer
Card.h
gehe zur Dokumentation dieser Datei
1
9#pragma once
10
11#include "CardReturnCode.h"
13#include "apdu/CommandApdu.h"
14#include "apdu/ResponseApdu.h"
17
18#include <QObject>
19#include <QPointer>
20
21
22namespace governikus
23{
24
32
33#ifndef QT_NO_DEBUG
35{
36 return pLeft.mReturnCode == pRight.mReturnCode
37 && pLeft.mEfCardSecurity == pRight.mEfCardSecurity
38 && pLeft.mAuthenticationToken == pRight.mAuthenticationToken
39 && pLeft.mNonce == pRight.mNonce;
40}
41
42
43#endif
44
45class Card
46 : public QObject
47{
49
50 public:
51 static constexpr int DEFAULT_PINPAD_TIMEOUT = 90;
52
53 Card();
54 ~Card() override = default;
55
60
65
69 virtual bool isConnected() const = 0;
70
75 virtual void setProgressMessage(const QString& pMessage, int pProgress = -1);
76 virtual void setErrorMessage(const QString& pMessage);
77
84
89
94
99
103 static QString generateProgressMessage(const QString& pMessage, int pProgress = -1);
104 static QString generateErrorMessage(const QString& pMessage);
105
107
109
113 const QByteArray& pSignature,
114 const QByteArray& pPin,
116};
117
118} // namespace governikus
Definition CVCertificateChain.h:24
Definition Card.h:47
virtual void setErrorMessage(const QString &pMessage)
Definition Card.cpp:28
virtual EstablishPaceChannelOutput prepareIdentification(const QByteArray &pChat)
Definition Card.cpp:90
virtual EstablishPaceChannelOutput establishPaceChannel(PacePasswordId pPasswordId, int pPreferredPinLength, const QByteArray &pChat, const QByteArray &pCertificateDescription)
Establishes a PACE channel, i.e.
Definition Card.cpp:34
static QString generateProgressMessage(const QString &pMessage, int pProgress=-1)
Combines the message and progressvalue depending on the environment.
Definition Card.cpp:61
virtual void setProgressMessage(const QString &pMessage, int pProgress=-1)
Sets the current workflow progress message.
Definition Card.cpp:21
~Card() override=default
virtual ResponseApduResult transmit(const CommandApdu &pCmd)=0
Performs a transmit to the smart card.
static QString generateErrorMessage(const QString &pMessage)
Definition Card.cpp:82
virtual ResponseApduResult setEidPin(quint8 pTimeoutSeconds)
Sets a new eID PIN, i.e.
Definition Card.cpp:52
static constexpr int DEFAULT_PINPAD_TIMEOUT
Definition Card.h:51
Card()
Definition Card.cpp:15
virtual CardReturnCode releaseConnection()=0
Destroys the previously established connection to the smart card.
virtual CardReturnCode destroyPaceChannel()
Destroys an existing PACE channel, i.e.
Definition Card.cpp:45
virtual TerminalAndChipAuthenticationResult performTAandCA(const CVCertificateChain &pTerminalCvcChain, const QByteArray &pAuxiliaryData, const QByteArray &pSignature, const QByteArray &pPin, const QByteArray &pEphemeralPublicKey)
Definition Card.cpp:107
virtual bool isConnected() const =0
Is the smart card connected, i.e.
virtual CardReturnCode establishConnection()=0
Establish a connection to the smart card.
virtual ResponseApduResult getChallenge()
Definition Card.cpp:99
Definition EstablishPaceChannelOutput.h:49
Implementation of GeneralAuthenticate response APDUs.
Definition CommandApdu.h:17
quint8
Definition ResponseApdu.h:64
QSharedPointer< T > decodeObject(const QByteArray &pData, bool pLogging=true)
Template function for decoding an OpenSSL type from DER encoded QByteArray.
Definition ASN1TemplateUtil.h:114
bool operator==(const CommandApdu &pLeft, const CommandApdu &pRight)
Definition CommandApdu.h:105
Definition ResponseApdu.h:115
QByteArray mAuthenticationToken
Definition Card.h:29
QByteArray mNonce
Definition Card.h:30
CardReturnCode mReturnCode
Definition Card.h:27
QByteArray mEfCardSecurity
Definition Card.h:28