GpgFrontend Project A Free, Powerful, Easy-to-Use, Compact, Cross-Platform, and Installation-Free OpenPGP(pgp) Crypto Tool.

Public Member Functions | Private Attributes | List of all members
GpgFrontend::GpgKeyImportExporter Class Reference
Inheritance diagram for GpgFrontend::GpgKeyImportExporter:
Collaboration diagram for GpgFrontend::GpgKeyImportExporter:

## 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. More...
| SingletonFunctionObject (const GpgKeyImportExporter &)=delete
| Construct a new Singleton Function Object object. More...
void | operator= (const GpgKeyImportExporter &)=delete

## Private Attributes
GpgContext & | ctx_

## Additional Inherited Members
Static Public Member Functions inherited from GpgFrontend::SingletonFunctionObject< GpgKeyImportExporter >
static GpgKeyImportExporter & | GetInstance (int channel=GpgFrontend::GPGFRONTEND_DEFAULT_CHANNEL)
| Get the Instance object. More...
static GpgKeyImportExporter & | CreateInstance (int channel, std::function< std::unique_ptr< GpgKeyImportExporter >(void)> factory)
| Create a Instance object. More...
static GpgKeyImportExporter & | CreateInstance (int channel, std::unique_ptr< GpgKeyImportExporter > p_obj=nullptr)
| Create a Instance object. More...
static GpgKeyImportExporter & | ReleaseChannel (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. More...
| SingletonFunctionObject (int channel)
| Construct a new Singleton Function Object object. More...
virtual | ~SingletonFunctionObject ()=default
| Destroy the Singleton Function Object object. More...
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

Parameters

  key |
  out_buffer |

Returns
  true
  false

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

## ◆ ExportKeyOpenSSH()

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

Parameters

  key |
  out_buffer |

Returns
  true
  false

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

## ◆ 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

  keys | keys used
  outBuffer | output 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_list | key ids
  out_buffer | output 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

  key | target key pair
  outBuffer | output 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

Parameters

  key |
  outBuffer |

Returns
  true
  false

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

## ◆ ImportKey()

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

Parameters

  inBuffer |

Returns
  GpgImportInformation

Import key pair

Parameters

  inBuffer | input byte array

Returns
  Import information

References GpgFrontend::check_gpg_error().

Referenced by GpgFrontend::UI::KeyServerImportDialog::import_keys(), GpgFrontend::UI::KeyList::import_keys(), GpgFrontend::KeyPackageOperator::ImportKeyPackage(), GpgFrontend::UI::CommonUtils::SlotImportKeyFromKeyServer(), and GpgFrontend::UI::CommonUtils::SlotImportKeys().

## Member Data Documentation

## ◆ ctx_

GpgContext& GpgFrontend::GpgKeyImportExporter::ctx_
| private

Initial value:
=
GpgContext::GetInstance(SingletonFunctionObject::GetChannel())

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

- src/core/function/gpg/GpgKeyImportExporter.h
- src/core/function/gpg/GpgKeyImportExporter.cpp

GpgFrontend::SingletonFunctionObject< GpgContext >::GetInstance
static GpgContext & GetInstance(int channel=GpgFrontend::GPGFRONTEND_DEFAULT_CHANNEL)
Get the Instance object.
Definition: GpgFunctionObject.h:57
GpgFrontend::SingletonFunctionObject::GetChannel
int GetChannel() const
Get the Channel object.
Definition: GpgFunctionObject.h:134