AusweisApp2
CipherMac.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
9 #include "SecurityProtocol.h"
10 
11 #include <QByteArray>
12 #include <openssl/evp.h>
13 
14 namespace governikus
15 {
16 
17 class CipherMac final
18 {
19  Q_DISABLE_COPY(CipherMac)
20 
21  private:
22 #if OPENSSL_VERSION_NUMBER < 0x30000000L
23  EVP_PKEY * mKey;
24 
25 #else
26  EVP_MAC* mMac;
27  EVP_MAC_CTX* mCtx;
28 #endif
29 
30  public:
37  CipherMac(const SecurityProtocol& pSecurityProtocol, const QByteArray& pKeyBytes);
38  ~CipherMac();
39 
43  [[nodiscard]] bool isInitialized() const;
44 
50  QByteArray generate(const QByteArray& pMessage);
51 };
52 
53 } // namespace governikus
Definition: CipherMac.h:18
QByteArray generate(const QByteArray &pMessage)
Generates the MAC of a message.
Definition: CipherMac.cpp:137
CipherMac(const SecurityProtocol &pSecurityProtocol, const QByteArray &pKeyBytes)
Creates a new instance with cipher algorithm determined by parameter and specified MAC key.
Definition: CipherMac.cpp:20
bool isInitialized() const
Returns true, if initialization succeeded, i.e.
Definition: CipherMac.cpp:125
~CipherMac()
Definition: CipherMac.cpp:114
A simple template renderer.
Definition: ActivationContext.h:15