AusweisApp
Lade ...
Suche ...
Keine Treffer
PcscCard.h
gehe zur Dokumentation dieser Datei
1
4
5#pragma once
6
7#include "Card.h"
8#include "CardReturnCode.h"
9#include "PcscReader.h"
10#include "PcscUtils.h"
11
12#include <QByteArray>
13#include <QPointer>
14#include <QTimer>
15
16
17namespace governikus
18{
19
21 : public Card
22{
23 Q_OBJECT
24
25 private:
26 struct CardResult
27 {
28 PCSC_RETURNCODE mReturnCode;
29 QByteArray mResponse = QByteArray();
30 };
31
32 QPointer<PcscReader> mReader;
33 PCSC_INT mProtocol;
34 SCARDCONTEXT mContextHandle;
35 SCARDHANDLE mCardHandle;
36 QTimer mTimer;
37
38 CardResult transmit(const QByteArray& pSendBuffer) const;
39 CardResult transmit(const QByteArray& pSendBuffer, const SCARD_IO_REQUEST* pSendPci) const;
40 CardResult control(PCSC_INT pCntrCode, const QByteArray& pCntrInput) const;
41
42 private Q_SLOTS:
43 void sendSCardStatus() const;
44
45 public:
46 explicit PcscCard(PcscReader* pPcscReader);
47 ~PcscCard() override;
48
49 CardReturnCode establishConnection() override;
50 CardReturnCode releaseConnection() override;
51 bool isConnected() const override;
52
53 ResponseApduResult transmit(const CommandApdu& pCmd) override;
54
55 EstablishPaceChannelOutput establishPaceChannel(PacePasswordId pPasswordId, int pPreferredPinLength, const QByteArray& pChat, const QByteArray& pCertificateDescription) override;
56
57 CardReturnCode destroyPaceChannel() override;
58
59 ResponseApduResult setEidPin(quint8 pTimeoutSeconds) override;
60};
61
62} // namespace governikus
Card()
Definition Card.cpp:15
Definition EstablishPaceChannelOutput.h:45
CardReturnCode establishConnection() override
Establish a connection to the smart card.
Definition PcscCard.cpp:101
EstablishPaceChannelOutput establishPaceChannel(PacePasswordId pPasswordId, int pPreferredPinLength, const QByteArray &pChat, const QByteArray &pCertificateDescription) override
Establishes a PACE channel, i.e.
Definition PcscCard.cpp:317
CardReturnCode destroyPaceChannel() override
Destroys an existing PACE channel, i.e.
Definition PcscCard.cpp:347
~PcscCard() override
Definition PcscCard.cpp:68
CardReturnCode releaseConnection() override
Destroys the previously established connection to the smart card.
Definition PcscCard.cpp:133
ResponseApduResult setEidPin(quint8 pTimeoutSeconds) override
Sets a new eID PIN, i.e.
Definition PcscCard.cpp:397
bool isConnected() const override
Is the smart card connected, i.e.
Definition PcscCard.cpp:154
PcscCard(PcscReader *pPcscReader)
Definition PcscCard.cpp:52
Definition PcscReader.h:22
Defines the AccessRight and AccessRole enum.
Definition CommandApdu.h:17
quint8
Definition ResponseApdu.h:65
Definition ResponseApdu.h:116