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 }