AusweisApp
Lade ...
Suche ...
Keine Treffer
SimulatorCard.h
gehe zur Dokumentation dieser Datei
1
5#pragma once
6
7#include "Card.h"
10#include "asn1/Chat.h"
11#include "asn1/Oid.h"
13
14#include <memory>
15#include <openssl/ec.h>
16
17
18namespace governikus
19{
20
21
23 : public Card
24{
26
27 private:
28 bool mConnected;
29 SimulatorFileSystem mFileSystem;
30 std::unique_ptr<SecureMessaging> mSecureMessaging;
31 std::unique_ptr<SecureMessaging> mNewSecureMessaging;
32 Oid mSelectedProtocol;
33 int mChainingStep;
34 int mPaceKeyId;
35 QSharedPointer<CHAT> mPaceChat;
36 QByteArray mPaceNonce;
37 QByteArray mPaceTerminalKey;
39 QSharedPointer<AuthenticatedAuxiliaryData> mTaAuxData;
40
41 public:
43
46 bool isConnected() const override;
47
49
51
53
55
56 private:
57 ResponseApduResult executeFileCommand(const CommandApdu& pCmd);
58 ResponseApduResult executeMseSetAt(const CommandApdu& pCmd);
59 ResponseApduResult executeGeneralAuthenticate(const CommandApdu& pCmd);
60 QByteArray ecMultiplication(const QByteArray& pPoint) const;
61 QByteArray generateAuthenticationToken(const QByteArray& pPublicKey, const QByteArray& pNonce = QByteArray());
62 QByteArray generateRestrictedId(const QByteArray& pPublicKey) const;
63 StatusCode verifyAuxiliaryData(const QByteArray& pASN1Struct);
64};
65
66} // namespace governikus
Definition Card.h:47
Definition EstablishPaceChannelOutput.h:49
Definition SimulatorCard.h:24
bool isConnected() const override
Is the smart card connected, i.e.
Definition SimulatorCard.cpp:76
ResponseApduResult transmit(const CommandApdu &pCmd) override
Performs a transmit to the smart card.
Definition SimulatorCard.cpp:82
SimulatorCard(const SimulatorFileSystem &pFileSystem)
Definition SimulatorCard.cpp:35
CardReturnCode releaseConnection() override
Destroys the previously established connection to the smart card.
Definition SimulatorCard.cpp:65
ResponseApduResult setEidPin(quint8 pTimeoutSeconds) override
Sets a new eID PIN, i.e.
Definition SimulatorCard.cpp:199
CardReturnCode establishConnection() override
Establish a connection to the smart card.
Definition SimulatorCard.cpp:53
EstablishPaceChannelOutput establishPaceChannel(PacePasswordId pPasswordId, int pPreferredPinLength, const QByteArray &pChat, const QByteArray &pCertificateDescription, quint8 pTimeoutSeconds) override
Establishes a PACE channel, i.e.
Definition SimulatorCard.cpp:168
CardReturnCode destroyPaceChannel() override
Destroys an existing PACE channel, i.e.
Definition SimulatorCard.cpp:190
Definition SimulatorFileSystem.h:22
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