GpgFrontend Project
A Free, Powerful, Easy-to-Use, Compact, Cross-Platform, and Installation-Free OpenPGP(pgp) Crypto Tool.
GpgFrontend::GpgKeyImportExporter Class Reference
Inheritance diagram for GpgFrontend::GpgKeyImportExporter:
Inheritance graph
Collaboration diagram for GpgFrontend::GpgKeyImportExporter:
Collaboration graph

Public Member Functions

 GpgKeyImportExporter (int channel=SingletonFunctionObject::GetDefaultChannel())
 Construct a new Gpg Key Import Exporter object. More...
 
GpgImportInformation ImportKey (StdBypeArrayPtr inBuffer)
 
bool ExportKeys (KeyIdArgsListPtr &uid_list, ByteArrayPtr &out_buffer, bool secret=false) const
 
bool ExportKeys (const KeyArgsList &keys, ByteArrayPtr &outBuffer, bool secret=false) const
 
bool ExportKey (const GpgKey &key, ByteArrayPtr &out_buffer) const
 
bool ExportKeyOpenSSH (const GpgKey &key, ByteArrayPtr &out_buffer) const
 
bool ExportSecretKey (const GpgKey &key, ByteArrayPtr &outBuffer) const
 
bool ExportSecretKeyShortest (const GpgKey &key, ByteArrayPtr &outBuffer) const
 
- Public Member Functions inherited from GpgFrontend::SingletonFunctionObject< GpgKeyImportExporter >
int GetChannel () const
 Get the Channel object. More...
 
 SingletonFunctionObject (GpgKeyImportExporter &&)=delete
 Construct a new Singleton Function Object object.
 
 SingletonFunctionObject (const GpgKeyImportExporter &)=delete
 Construct a new Singleton Function Object object.
 
void operator= (const GpgKeyImportExporter &)=delete
 

Private Attributes

GpgContextctx_
 

Additional Inherited Members

- Static Public Member Functions inherited from GpgFrontend::SingletonFunctionObject< GpgKeyImportExporter >
static GpgKeyImportExporterGetInstance (int channel=GpgFrontend::GPGFRONTEND_DEFAULT_CHANNEL)
 Get the Instance object. More...
 
static GpgKeyImportExporterCreateInstance (int channel, std::function< std::unique_ptr< GpgKeyImportExporter >(void)> factory)
 Create a Instance object. More...
 
static GpgKeyImportExporterCreateInstance (int channel, std::unique_ptr< GpgKeyImportExporter > p_obj=nullptr)
 Create a Instance object. More...
 
static GpgKeyImportExporterReleaseChannel (int channel)
 
static int GetDefaultChannel ()
 Get the Default Channel object. More...
 
- Protected Member Functions inherited from GpgFrontend::SingletonFunctionObject< GpgKeyImportExporter >
 SingletonFunctionObject ()=default
 Construct a new Singleton Function Object object.
 
 SingletonFunctionObject (int channel)
 Construct a new Singleton Function Object object. More...
 
virtual ~SingletonFunctionObject ()=default
 Destroy the Singleton Function Object object.
 
void SetChannel (int channel)
 Set the Channel object. More...
 

Constructor & Destructor Documentation

◆ GpgKeyImportExporter()

GpgFrontend::GpgKeyImportExporter::GpgKeyImportExporter ( int  channel = SingletonFunctionObject::GetDefaultChannel())
explicit

Construct a new Gpg Key Import Exporter object.

Parameters
channel

Copyright (C) 2021 Saturneric

This file is part of GpgFrontend.

GpgFrontend is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

GpgFrontend is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with GpgFrontend. If not, see https://www.gnu.org/licenses/.

The initial version of the source code is inherited from the gpg4usb project, which is under GPL-3.0-or-later.

All the source code of GpgFrontend was modified and released by Saturnericeric@.nosp@m.bktu.nosp@m.s.com starting on May 12, 2021.

SPDX-License-Identifier: GPL-3.0-or-later

Member Function Documentation

◆ ExportKey()

bool GpgFrontend::GpgKeyImportExporter::ExportKey ( const GpgKey key,
GpgFrontend::ByteArrayPtr &  out_buffer 
) const

◆ ExportKeyOpenSSH()

bool GpgFrontend::GpgKeyImportExporter::ExportKeyOpenSSH ( const GpgKey key,
GpgFrontend::ByteArrayPtr &  out_buffer 
) const

◆ ExportKeys() [1/2]

bool GpgFrontend::GpgKeyImportExporter::ExportKeys ( const KeyArgsList &  keys,
ByteArrayPtr &  out_buffer,
bool  secret = false 
) const
Parameters
keys
outBuffer
secret
Returns
true
false

Export keys

Parameters
keyskeys used
outBufferoutput byte array
Returns
if success

◆ ExportKeys() [2/2]

bool GpgFrontend::GpgKeyImportExporter::ExportKeys ( KeyIdArgsListPtr &  uid_list,
ByteArrayPtr &  out_buffer,
bool  secret = false 
) const
Parameters
uid_list
out_buffer
secret
Returns
true
false

Export Key

Parameters
uid_listkey ids
out_bufferoutput byte array
Returns
if success

References GpgFrontend::SingletonFunctionObject< GpgKeyGetter >::GetInstance(), GpgFrontend::GpgKeyGetter::GetKeys(), and GpgFrontend::GpgData::Read2Buffer().

Referenced by GpgFrontend::UI::MainWindow::slot_append_selected_keys().

◆ ExportSecretKey()

bool GpgFrontend::GpgKeyImportExporter::ExportSecretKey ( const GpgKey key,
ByteArrayPtr &  out_buffer 
) const
Parameters
key
outBuffer
Returns
true
false

Export the secret key of a key pair(including subkeys)

Parameters
keytarget key pair
outBufferoutput byte array
Returns
if successful

References GpgFrontend::check_gpg_error_2_err_code(), GpgFrontend::GpgKey::GetId(), and GpgFrontend::GpgData::Read2Buffer().

◆ ExportSecretKeyShortest()

bool GpgFrontend::GpgKeyImportExporter::ExportSecretKeyShortest ( const GpgKey key,
GpgFrontend::ByteArrayPtr &  out_buffer 
) const

◆ ImportKey()

GpgFrontend::GpgImportInformation GpgFrontend::GpgKeyImportExporter::ImportKey ( StdBypeArrayPtr  in_buffer)

Member Data Documentation

◆ ctx_

GpgContext& GpgFrontend::GpgKeyImportExporter::ctx_
private
Initial value:
=
static GpgContext & GetInstance(int channel=GpgFrontend::GPGFRONTEND_DEFAULT_CHANNEL)
Get the Instance object.
Definition: GpgFunctionObject.h:57
int GetChannel() const
Get the Channel object.
Definition: GpgFunctionObject.h:134

The documentation for this class was generated from the following files: