AusweisApp
Lade ...
Suche ...
Keine Treffer
SimulatorFileSystem.h
gehe zur Dokumentation dieser Datei
1
4
5#pragma once
6
8#include "apdu/ResponseApdu.h"
10#include "asn1/CVCertificate.h"
11#include "asn1/Oid.h"
12
13#include <QByteArray>
14#include <QJsonObject>
15#include <QMap>
16#include <openssl/ec.h>
17
18
19namespace governikus
20{
21
22
24{
25 private:
26 QByteArray mSelectedFile;
27 QMap<PacePasswordId, QByteArray> mPasswords;
28 QMap<int, QByteArray> mKeys;
29 QMap<QByteArray, QByteArray> mFiles;
30 QMap<QByteArray, QByteArray> mFileIds;
31 QSharedPointer<const CVCertificate> mTrustPoint;
32
33 void initMandatoryData();
34 void parseKey(const QJsonObject& pKey);
35
36 public:
38 explicit SimulatorFileSystem(const QJsonObject& pData);
39
40 [[nodiscard]] StatusCode select(const QByteArray& pFileId);
41 [[nodiscard]] QByteArray read(qsizetype pOffset, int pLength, bool pExtendedLen) const;
42 [[nodiscard]] StatusCode write(qsizetype pOffset, const QByteArray& pData);
43
44 [[nodiscard]] QByteArray getEfCardAccess() const;
45 [[nodiscard]] QByteArray getPassword(PacePasswordId pPasswordId) const;
46 [[nodiscard]] QSharedPointer<EC_KEY> getKey(int pKeyId) const;
47 [[nodiscard]] QSharedPointer<const CVCertificate> getTrustPoint() const;
48 void setTrustPoint(const QSharedPointer<const CVCertificate>& pTrustPoint);
49
50 [[nodiscard]] StatusCode verify(const Oid& pOid, const QSharedPointer<AuthenticatedAuxiliaryData>& pAuxiliaryData) const;
51
52 private:
53 void createFile(const QByteArray& pFileId, const QByteArray& pShortFileId, const QByteArray& pContent);
54 void createFile(const QByteArray& pShortFileId, const QByteArray& pContent);
55 void createFile(const QByteArray& pShortFileId, const char* pStr, const QByteArray& pConfig = QByteArray());
56 void createFile(const QByteArray& pShortFileId, const char* pStr, const QString& pFile);
57};
58
59} // namespace governikus
SimulatorFileSystem()
Definition SimulatorFileSystem.cpp:180
StatusCode verify(const Oid &pOid, const QSharedPointer< AuthenticatedAuxiliaryData > &pAuxiliaryData) const
Definition SimulatorFileSystem.cpp:394
QByteArray getEfCardAccess() const
Definition SimulatorFileSystem.cpp:348
QByteArray getPassword(PacePasswordId pPasswordId) const
Definition SimulatorFileSystem.cpp:354
QByteArray read(qsizetype pOffset, int pLength, bool pExtendedLen) const
Definition SimulatorFileSystem.cpp:297
StatusCode select(const QByteArray &pFileId)
Definition SimulatorFileSystem.cpp:275
QSharedPointer< const CVCertificate > getTrustPoint() const
Definition SimulatorFileSystem.cpp:381
StatusCode write(qsizetype pOffset, const QByteArray &pData)
Definition SimulatorFileSystem.cpp:331
void setTrustPoint(const QSharedPointer< const CVCertificate > &pTrustPoint)
Definition SimulatorFileSystem.cpp:387
QSharedPointer< EC_KEY > getKey(int pKeyId) const
Definition SimulatorFileSystem.cpp:360
Defines the AccessRight and AccessRole enum.
Definition CommandApdu.h:17