AusweisApp
Lade ...
Suche ...
Keine Treffer
SecureMessaging.h
gehe zur Dokumentation dieser Datei
1
9#pragma once
10
11#include "SecurityProtocol.h"
12#include "apdu/CommandApdu.h"
13#include "apdu/ResponseApdu.h"
14#include "pace/CipherMac.h"
16
17#include <QByteArray>
18
19
20namespace governikus
21{
22
24{
25 private:
26 SymmetricCipher mCipher;
27 CipherMac mCipherMac;
28 quint32 mSendSequenceCounter;
29
30 [[nodiscard]] QByteArray padToCipherBlockSize(const QByteArray& pData) const;
31 [[nodiscard]] QByteArray unpadFromCipherBlockSize(const QByteArray& pData) const;
32 [[nodiscard]] QByteArray createSecuredHeader(const CommandApdu& pCommandApdu) const;
34 [[nodiscard]] int createNewLe(const QByteArray& pSecuredData, int pOldLe) const;
35 [[nodiscard]] QByteArray getSendSequenceCounter() const;
36 QByteArray getEncryptedIv();
37
38 public:
40 ~SecureMessaging() = default;
41
45 [[nodiscard]] bool isInitialized() const;
46
48
50
52
54};
55
56} // namespace governikus
Definition CipherMac.h:20
Definition SecureMessaging.h:24
SecureMessaging(const SecurityProtocol &pSecurityProtocol, const QByteArray &pEncKey, const QByteArray &pMacKey)
Definition SecureMessaging.cpp:25
CommandApdu encrypt(const CommandApdu &pCommandApdu)
Definition SecureMessaging.cpp:77
CommandApdu decrypt(const CommandApdu &pEncryptedCommandApdu)
Definition SecureMessaging.cpp:123
bool isInitialized() const
Returns true, if initialization succeeded, i.e.
Definition SecureMessaging.cpp:35
Definition SymmetricCipher.h:20
Implementation of GeneralAuthenticate response APDUs.
Definition CommandApdu.h:17
QSharedPointer< T > decodeObject(const QByteArray &pData, bool pLogging=true)
Template function for decoding an OpenSSL type from DER encoded QByteArray.
Definition ASN1TemplateUtil.h:114