AusweisApp
Lade ...
Suche ...
Keine Treffer
PcscCard.h
gehe zur Dokumentation dieser Datei
1
10#pragma once
11
12#include "Card.h"
13#include "CardReturnCode.h"
14#include "PcscReader.h"
15#include "PcscUtils.h"
16
17#include <QByteArray>
18#include <QPointer>
19#include <QTimer>
20
21
22namespace governikus
23{
24
26 : public Card
27{
29
30 private:
31 struct CardResult
32 {
33 PCSC_RETURNCODE mReturnCode;
34 QByteArray mResponse = QByteArray();
35 };
36
38 PCSC_INT mProtocol;
39 SCARDCONTEXT mContextHandle;
40 SCARDHANDLE mCardHandle;
41 QTimer mTimer;
42
43 CardResult transmit(const QByteArray& pSendBuffer);
44 CardResult transmit(const QByteArray& pSendBuffer, const SCARD_IO_REQUEST* pSendPci);
45 CardResult control(PCSC_INT pCntrCode, const QByteArray& pCntrInput);
46#ifdef Q_OS_WIN
47 void disableOverlay();
48#else
49 void disableOverlay() const
50 {
51 }
52
53
54#endif
55
56 private Q_SLOTS:
57 void sendSCardStatus();
58
59 public:
61 ~PcscCard() override;
62
65 bool isConnected() const override;
66
67 ResponseApduResult transmit(const CommandApdu& pCmd) override;
68
70
72
74};
75
76} // namespace governikus
Definition Card.h:47
Definition EstablishPaceChannelOutput.h:49
Definition PcscCard.h:27
CardReturnCode establishConnection() override
Establish a connection to the smart card.
Definition PcscCard.cpp:102
CardReturnCode destroyPaceChannel() override
Destroys an existing PACE channel, i.e.
Definition PcscCard.cpp:354
~PcscCard() override
Definition PcscCard.cpp:69
CardReturnCode releaseConnection() override
Destroys the previously established connection to the smart card.
Definition PcscCard.cpp:136
ResponseApduResult setEidPin(quint8 pTimeoutSeconds) override
Sets a new eID PIN, i.e.
Definition PcscCard.cpp:421
bool isConnected() const override
Is the smart card connected, i.e.
Definition PcscCard.cpp:157
PcscCard(PcscReader *pPcscReader)
Definition PcscCard.cpp:53
EstablishPaceChannelOutput establishPaceChannel(PacePasswordId pPasswordId, int pPreferredPinLength, const QByteArray &pChat, const QByteArray &pCertificateDescription, quint8 pTimeoutSeconds) override
Establishes a PACE channel, i.e.
Definition PcscCard.cpp:320
Definition PcscReader.h:26
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