File indexing completed on 2024-09-22 04:49:58
0001 /* 0002 * SPDX-FileCopyrightText: 2017 Daniel Vrátil <dvratil@kde.org> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-only 0005 */ 0006 0007 #pragma once 0008 0009 #include <QTemporaryDir> 0010 0011 class GPGHelper 0012 { 0013 public: 0014 enum CryptoType { OpenPGP, SMIME }; 0015 0016 explicit GPGHelper(const QString &templateGnupgHome); 0017 ~GPGHelper(); 0018 0019 bool isValid() const 0020 { 0021 return mValid; 0022 } 0023 0024 QString gnupgHome() const; 0025 0026 QByteArray decrypt(const QByteArray &enc, CryptoType crypto) const; 0027 QByteArray encrypt(const QByteArray &dec, CryptoType crypto) const; 0028 0029 QString encryptionKeyFp(const QByteArray &encMsg, GPGHelper::CryptoType crypto) const; 0030 0031 private: 0032 QByteArray runGpg(const QByteArray &in, CryptoType crypt, const QStringList &args) const; 0033 0034 bool mValid; 0035 QTemporaryDir mTmpDir; 0036 };