AusweisApp2
SymmetricCipher.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
14namespace governikus
15{
16
17class SymmetricCipher final
18{
19 Q_DISABLE_COPY(SymmetricCipher)
20
21 private:
22 EVP_CIPHER_CTX* mCtx;
23 const EVP_CIPHER* mCipher;
24 QByteArray mIv;
25 QByteArray mKeyBytes;
26
27 public:
34 SymmetricCipher(const SecurityProtocol& pSecurityProtocol, const QByteArray& pKeyBytes);
36
40 [[nodiscard]] bool isInitialized() const;
41
47 QByteArray encrypt(const QByteArray& pPlainData);
48
54 QByteArray decrypt(const QByteArray& pEncryptedData);
55
61 bool setIv(const QByteArray& pIv);
62
63 [[nodiscard]] int getBlockSize() const;
64};
65
66} // namespace governikus
Definition: SymmetricCipher.h:18
bool isInitialized() const
Returns true, if initialization succeeded, i.e.
Definition: SymmetricCipher.cpp:58
QByteArray decrypt(const QByteArray &pEncryptedData)
Decrypts the message.
Definition: SymmetricCipher.cpp:126
bool setIv(const QByteArray &pIv)
Sets the initialization vector.
Definition: SymmetricCipher.cpp:105
int getBlockSize() const
Definition: SymmetricCipher.cpp:119
QByteArray encrypt(const QByteArray &pPlainData)
Encrypts the message.
Definition: SymmetricCipher.cpp:64
~SymmetricCipher()
Definition: SymmetricCipher.cpp:46
SymmetricCipher(const SecurityProtocol &pSecurityProtocol, const QByteArray &pKeyBytes)
Creates a new instance with cipher algorithm determined by parameter and specified cipher key.
Definition: SymmetricCipher.cpp:17
A simple template renderer.
Definition: ActivationContext.h:15