AusweisApp
Lade ...
Suche ...
Keine Treffer
CipherMac.h
gehe zur Dokumentation dieser Datei
1
4
5#pragma once
6
7#include "SecurityProtocol.h"
8
9#include <QByteArray>
10#include <openssl/evp.h>
11
12
13namespace governikus
14{
15
16class CipherMac final
17{
18 Q_DISABLE_COPY(CipherMac)
19
20 private:
21#if OPENSSL_VERSION_NUMBER < 0x30000000L
22 EVP_PKEY * mKey;
23
24#else
25 EVP_MAC* mMac;
26 EVP_MAC_CTX* mCtx;
27#endif
28
29 public:
36 CipherMac(const SecurityProtocol& pSecurityProtocol, const QByteArray& pKeyBytes);
37 ~CipherMac();
38
42 [[nodiscard]] bool isInitialized() const;
43
49 QByteArray generate(const QByteArray& pMessage) const;
50};
51
52} // namespace governikus
CipherMac(const SecurityProtocol &pSecurityProtocol, const QByteArray &pKeyBytes)
Creates a new instance with cipher algorithm determined by parameter and specified MAC key.
Definition CipherMac.cpp:16
bool isInitialized() const
Returns true, if initialization succeeded, i.e.
Definition CipherMac.cpp:94
~CipherMac()
Definition CipherMac.cpp:83
QByteArray generate(const QByteArray &pMessage) const
Generates the MAC of a message.
Definition CipherMac.cpp:106
Defines the AccessRight and AccessRole enum.
Definition CommandApdu.h:17