AusweisApp
Lade ...
Suche ...
Keine Treffer
PcscCard.h
gehe zur Dokumentation dieser Datei
1
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{
24
25 private:
26 struct CardResult
27 {
28 PCSC_RETURNCODE mReturnCode;
29 QByteArray mResponse = QByteArray();
30 };
31
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:
47 ~PcscCard() override;
48
51 bool isConnected() const override;
52
53 ResponseApduResult transmit(const CommandApdu& pCmd) override;
54
56
58
60};
61
62} // namespace governikus
Definition Card.h:43
Definition EstablishPaceChannelOutput.h:45
Definition PcscCard.h:22
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
QSharedPointer< T > decodeObject(const QByteArray &pData, bool pLogging=true)
Template function for decoding an OpenSSL type from DER encoded QByteArray.
Definition ASN1TemplateUtil.h:112
Definition ResponseApdu.h:116