AusweisApp2
SymmetricCipher.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
9 #include <openssl/evp.h>
10 #include <QByteArray>
11 
12 namespace governikus
13 {
14 
15 class SymmetricCipher final
16 {
17  private:
18  EVP_CIPHER_CTX* mCtx;
19  const EVP_CIPHER* mCipher;
20  QByteArray mIv, mKeyBytes;
21 
22  Q_DISABLE_COPY(SymmetricCipher)
23 
24  public:
31  SymmetricCipher(const QByteArray& pPaceAlgorithm, const QByteArray& pKeyBytes);
33 
37  [[nodiscard]] bool isInitialized() const;
38 
44  QByteArray encrypt(const QByteArray& pPlainData);
45 
51  QByteArray decrypt(const QByteArray& pEncryptedData);
52 
58  bool setIv(const QByteArray& pIv);
59 
60  [[nodiscard]] int getBlockSize() const;
61 };
62 
63 } // namespace governikus
Definition: SymmetricCipher.h:16
bool isInitialized() const
Returns true, if initialization succeeded, i.e.
Definition: SymmetricCipher.cpp:82
QByteArray decrypt(const QByteArray &pEncryptedData)
Decrypts the message.
Definition: SymmetricCipher.cpp:150
bool setIv(const QByteArray &pIv)
Sets the initialization vector.
Definition: SymmetricCipher.cpp:129
SymmetricCipher(const QByteArray &pPaceAlgorithm, const QByteArray &pKeyBytes)
Creates a new instance with cipher algorithm determined by parameter and specified cipher key.
Definition: SymmetricCipher.cpp:18
int getBlockSize() const
Definition: SymmetricCipher.cpp:143
QByteArray encrypt(const QByteArray &pPlainData)
Encrypts the message.
Definition: SymmetricCipher.cpp:88
~SymmetricCipher()
Definition: SymmetricCipher.cpp:70
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15