AusweisApp
Lade ...
Suche ...
Keine Treffer
CardConnectionWorker.h
gehe zur Dokumentation dieser Datei
1
9#pragma once
10
11#include "CardReturnCode.h"
12#include "FileRef.h"
13#include "Reader.h"
15#include "apdu/CommandApdu.h"
16#include "apdu/ResponseApdu.h"
18#include "asn1/SecurityInfos.h"
21
22#include <QByteArray>
23#include <QTimer>
24
25
26namespace governikus
27{
28
33 : public QObject
34 , public QEnableSharedFromThis<CardConnectionWorker>
35{
37
38 private:
42 QPointer<Reader> mReader;
43
47 QScopedPointer<SecureMessaging> mSecureMessaging;
48
49 QTimer mKeepAliveTimer;
50
51 inline QSharedPointer<const EFCardAccess> getEfCardAccess() const;
52
53 void stopSecureMessaging();
54
55 private Q_SLOTS:
56 void onKeepAliveTimeout();
57
58 protected:
64
68 ~CardConnectionWorker() override;
69
70 public:
72
74
75 void setPukInoperative();
76
78
80
81 virtual CardReturnCode readFile(const FileRef& pFileRef, QByteArray& pFileContent, int pLe = CommandApdu::SHORT_MAX_LE);
82
84
92 const QByteArray& pChat,
94
99
100 virtual void setKeepAlive(bool pEnabled);
101
106 virtual void setProgressMessage(const QString& pMessage, int pProgress = -1);
107
109
111
113
117 const QByteArray& pSignature,
118 const QByteArray& pPin,
119 const QByteArray& pEphemeralPublicKey) const;
120
121 Q_SIGNALS:
124};
125
126} // namespace governikus
Definition CVCertificateChain.h:24
This class represents a connection to a smart card.
Definition CardConnectionWorker.h:35
virtual CardReturnCode destroyPaceChannel()
Destroys a previously established PACE channel.
Definition CardConnectionWorker.cpp:363
~CardConnectionWorker() override
Destroys the CardConnection and disconnects from the card.
Definition CardConnectionWorker.cpp:38
CardConnectionWorker(Reader *pReader)
The Card hold by the Reader is expected to be connected.
Definition CardConnectionWorker.cpp:22
EstablishPaceChannelOutput prepareIdentification(const QByteArray &pChat) const
Definition CardConnectionWorker.cpp:417
Q_INVOKABLE ReaderInfo getReaderInfo() const
Definition CardConnectionWorker.cpp:65
virtual CardReturnCode updateRetryCounter()
Definition CardConnectionWorker.cpp:112
virtual EstablishPaceChannelOutput establishPaceChannel(PacePasswordId pPasswordId, const QByteArray &pPasswordValue, const QByteArray &pChat, const QByteArray &pCertificateDescription)
Performs PACE and establishes a PACE channel for later terminal authentication.
Definition CardConnectionWorker.cpp:283
static QSharedPointer< CardConnectionWorker > create(Reader *pReader)
Definition CardConnectionWorker.cpp:48
void setPukInoperative()
Definition CardConnectionWorker.cpp:71
virtual void setKeepAlive(bool pEnabled)
Definition CardConnectionWorker.cpp:261
virtual ResponseApduResult transmit(const CommandApdu &pCommandApdu)
Definition CardConnectionWorker.cpp:162
ResponseApduResult getChallenge() const
Definition CardConnectionWorker.cpp:432
virtual ResponseApduResult setEidPin(const QByteArray &pNewPin, quint8 pTimeoutSeconds)
Definition CardConnectionWorker.cpp:387
TerminalAndChipAuthenticationResult performTAandCA(const CVCertificateChain &pTerminalCvcChain, const QByteArray &pAuxiliaryData, const QByteArray &pSignature, const QByteArray &pPin, const QByteArray &pEphemeralPublicKey) const
Definition CardConnectionWorker.cpp:452
virtual CardReturnCode readFile(const FileRef &pFileRef, QByteArray &pFileContent, int pLe=CommandApdu::SHORT_MAX_LE)
Definition CardConnectionWorker.cpp:208
virtual void setProgressMessage(const QString &pMessage, int pProgress=-1)
Sets the current workflow progress message.
Definition CardConnectionWorker.cpp:273
bool selectApplicationRoot(const FileRef &pApplication)
Definition CardConnectionWorker.cpp:77
void fireReaderInfoChanged(const ReaderInfo &pReaderInfo)
Definition EstablishPaceChannelOutput.h:49
Definition FileRef.h:19
Definition ReaderInfo.h:18
Definition Reader.h:20
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
Definition ResponseApdu.h:115