Page MenuHome GnuPG

No OneTemporary

diff --git a/src/utils/compliance.h b/src/utils/compliance.h
index 84115321..3cbfc82f 100644
--- a/src/utils/compliance.h
+++ b/src/utils/compliance.h
@@ -1,130 +1,131 @@
/* -*- mode: c++; c-basic-offset:4 -*-
utils/compliance.h
This file is part of libkleopatra
SPDX-FileCopyrightText: 2022 g10 Code GmbH
SPDX-FileContributor: Ingo Klöcker <dev@ingo-kloecker.de>
SPDX-License-Identifier: GPL-2.0-or-later
*/
#pragma once
#include "kleo_export.h"
+#include <string>
#include <string_view>
#include <vector>
class QPushButton;
class QString;
namespace GpgME
{
class Key;
class UserID;
}
namespace Kleo::DeVSCompliance
{
/**
* Returns true, if compliance mode "de-vs" is configured for GnuPG.
* Note: It does not check whether the used GnuPG is actually compliant.
*/
KLEO_EXPORT bool isActive();
/**
* Returns true, if compliance mode "de-vs" is configured for GnuPG and if
* GnuPG passes a basic compliance check, i.e. at least libgcrypt and the used
* RNG are compliant. Also returns true if compliance shall be assumed (e.g.
* for beta testing).
*/
KLEO_EXPORT bool isCompliant();
/**
* Returns true, if compliance mode "de-vs" is configured for GnuPG and if
* compliance of GnuPG shall be assumed (e.g. for beta testing).
*/
KLEO_EXPORT bool isBetaCompliance();
/**
* Returns true, if the given algorithm is compliant with compliance mode
* "de-vs". Always returns true, if compliance mode "de-vs" is not active.
*/
KLEO_EXPORT bool algorithmIsCompliant(std::string_view algo);
/**
* Returns true, if all usable subkeys of the key \p key are compliant with
* compliance mode "de-vs". Usable subkeys are those that are neither revoked
* nor expired. If the key doesn't have any usable subkeys, then false is
* returned.
* Always returns true, if compliance mode "de-vs" is not active.
*/
KLEO_EXPORT bool allSubkeysAreCompliant(const GpgME::Key &key);
/**
* Returns true, if the key \p key is compliant with compliance mode "de-vs".
* This function behaves like DeVSCompliance::keyIsCompliant, but only considers
* user id \p id; all other user ids are ignored.
* \see keyIsCompliant
*/
KLEO_EXPORT bool userIDIsCompliant(const GpgME::UserID &id);
/**
* Returns true, if the key \p key is compliant with compliance mode "de-vs".
* A key is considered compliant if all usable subkeys are compliant and if
* all not revoked user IDs have at least full validity. The second condition
* requires that the key has been validated.
* Always returns true, if compliance mode "de-vs" is not active.
*
* \see allSubkeysAreCompliant
*/
KLEO_EXPORT bool keyIsCompliant(const GpgME::Key &key);
/**
* Returns a static list of the available compliant algorithms.
*/
KLEO_EXPORT const std::vector<std::string> &compliantAlgorithms();
/**
* Returns a static list of the preferred compliant algorithms with decreasing
* preference.
* Can be used to determine the default algorithm for generating new keys.
*/
KLEO_EXPORT const std::vector<std::string> &preferredCompliantAlgorithms();
/**
* \overload
*
* Sets the appropriate icon and, unless high-contrast mode is active, the
* appropriate background color of \p button depending on the state of
* compliance.
*/
KLEO_EXPORT void decorate(QPushButton *button);
/**
* Sets the appropriate icon and, unless high-contrast mode is active, the
* appropriate background color of \p button depending on the value of
* \p compliant.
*/
KLEO_EXPORT void decorate(QPushButton *button, bool compliant);
/**
* \overload
*
* Returns a localized name for the compliance or non-compliance depending on
* the state of compliance.
*/
KLEO_EXPORT QString name();
/**
* Returns a localized name for the compliance or non-compliance depending on
* the value of \p compliant.
*
* \note The localized name is taken from the de-vs-filter filter resp. the
* not-de-vs-filter. This allows the customization of the name for different
* users because VS-NfD compliance is called differently in different
* environments, e.g. NATO RESTRICTED or EU RESTRICTED.
*/
KLEO_EXPORT QString name(bool compliant);
}

File Metadata

Mime Type
text/x-diff
Expires
Mon, May 12, 6:16 PM (13 h, 23 m)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
61/10/3f00817a0a928695a765a8c30101

Event Timeline