File indexing completed on 2024-06-23 05:14:09
0001 /* -*- mode: c++; c-basic-offset:4 -*- 0002 newcertificatewizard/keyalgo.cpp 0003 0004 This file is part of Kleopatra, the KDE keymanager 0005 SPDX-FileCopyrightText: 2008 Klarälvdalens Datakonsult AB 0006 SPDX-FileCopyrightText: 2016, 2017 Bundesamt für Sicherheit in der Informationstechnik 0007 SPDX-FileContributor: Intevation GmbH 0008 0009 SPDX-License-Identifier: GPL-2.0-or-later 0010 */ 0011 0012 #include <config-kleopatra.h> 0013 0014 #include "keyalgo_p.h" 0015 0016 using namespace GpgME; 0017 0018 bool Kleo::NewCertificateUi::is_algo(GpgME::Subkey::PubkeyAlgo algo, KeyAlgo what) 0019 { 0020 switch (algo) { 0021 case Subkey::AlgoRSA: 0022 case Subkey::AlgoRSA_E: 0023 case Subkey::AlgoRSA_S: 0024 return what == RSA; 0025 case Subkey::AlgoELG_E: 0026 case Subkey::AlgoELG: 0027 return what == ELG; 0028 case Subkey::AlgoDSA: 0029 return what == DSA; 0030 case Subkey::AlgoECDSA: 0031 return what == ECDSA; 0032 case Subkey::AlgoECDH: 0033 return what == ECDH; 0034 case Subkey::AlgoEDDSA: 0035 return what == EDDSA; 0036 default: 0037 break; 0038 } 0039 return false; 0040 } 0041 0042 bool Kleo::NewCertificateUi::is_rsa(unsigned int algo) 0043 { 0044 return is_algo(static_cast<Subkey::PubkeyAlgo>(algo), RSA); 0045 } 0046 0047 bool Kleo::NewCertificateUi::is_dsa(unsigned int algo) 0048 { 0049 return is_algo(static_cast<Subkey::PubkeyAlgo>(algo), DSA); 0050 } 0051 0052 bool Kleo::NewCertificateUi::is_elg(unsigned int algo) 0053 { 0054 return is_algo(static_cast<Subkey::PubkeyAlgo>(algo), ELG); 0055 } 0056 0057 bool Kleo::NewCertificateUi::is_ecdsa(unsigned int algo) 0058 { 0059 return is_algo(static_cast<Subkey::PubkeyAlgo>(algo), ECDSA); 0060 } 0061 0062 bool Kleo::NewCertificateUi::is_eddsa(unsigned int algo) 0063 { 0064 return is_algo(static_cast<Subkey::PubkeyAlgo>(algo), EDDSA); 0065 } 0066 0067 bool Kleo::NewCertificateUi::is_ecdh(unsigned int algo) 0068 { 0069 return is_algo(static_cast<Subkey::PubkeyAlgo>(algo), ECDH); 0070 }