MockChallengeResponseKey.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /*
  2. * Copyright (C) 2018 KeePassXC Team <team@keepassxc.org>
  3. *
  4. * This program is free software: you can redistribute it and/or modify
  5. * it under the terms of the GNU General Public License as published by
  6. * the Free Software Foundation, either version 2 or (at your option)
  7. * version 3 of the License.
  8. *
  9. * This program is distributed in the hope that it will be useful,
  10. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. * GNU General Public License for more details.
  13. *
  14. * You should have received a copy of the GNU General Public License
  15. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  16. */
  17. #ifndef KEEPASSXC_MOCKCHALLENGERESPONSEKEY_H
  18. #define KEEPASSXC_MOCKCHALLENGERESPONSEKEY_H
  19. #include "keys/ChallengeResponseKey.h"
  20. /**
  21. * Mock challenge-response key implementation that simply
  22. * returns the challenge concatenated with a fixed secret.
  23. */
  24. class MockChallengeResponseKey : public ChallengeResponseKey
  25. {
  26. public:
  27. explicit MockChallengeResponseKey(const QByteArray& secret);
  28. ~MockChallengeResponseKey() override = default;
  29. QByteArray rawKey() const override;
  30. bool challenge(const QByteArray& challenge) override;
  31. private:
  32. QByteArray m_challenge;
  33. QByteArray m_secret;
  34. Q_DISABLE_COPY(MockChallengeResponseKey);
  35. };
  36. #endif // KEEPASSXC_MOCKCHALLENGERESPONSEKEY_H