summaryrefslogtreecommitdiff
path: root/cloudinit/gpg.py
diff options
context:
space:
mode:
Diffstat (limited to 'cloudinit/gpg.py')
-rw-r--r--cloudinit/gpg.py74
1 files changed, 0 insertions, 74 deletions
diff --git a/cloudinit/gpg.py b/cloudinit/gpg.py
deleted file mode 100644
index 6a76d785..00000000
--- a/cloudinit/gpg.py
+++ /dev/null
@@ -1,74 +0,0 @@
-"""gpg.py - Collection of gpg key related functions"""
-# vi: ts=4 expandtab
-#
-# Copyright (C) 2016 Canonical Ltd.
-#
-# Author: Scott Moser <scott.moser@canonical.com>
-# Author: Christian Ehrhardt <christian.ehrhardt@canonical.com>
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 3, as
-# published by the Free Software Foundation.
-#
-# This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
-
-from cloudinit import log as logging
-from cloudinit import util
-
-LOG = logging.getLogger(__name__)
-
-
-def export_armour(key):
- """Export gpg key, armoured key gets returned"""
- try:
- (armour, _) = util.subp(["gpg", "--export", "--armour", key],
- capture=True)
- except util.ProcessExecutionError as error:
- # debug, since it happens for any key not on the system initially
- LOG.debug('Failed to export armoured key "%s": %s', key, error)
- armour = None
- return armour
-
-
-def receive_key(key, keyserver):
- """Receive gpg key from the specified keyserver"""
- LOG.debug('Receive gpg key "%s"', key)
- try:
- util.subp(["gpg", "--keyserver", keyserver, "--recv-keys", key],
- capture=True)
- except util.ProcessExecutionError as error:
- raise ValueError(('Failed to import key "%s" '
- 'from server "%s" - error %s') %
- (key, keyserver, error))
-
-
-def delete_key(key):
- """Delete the specified key from the local gpg ring"""
- try:
- util.subp(["gpg", "--batch", "--yes", "--delete-keys", key],
- capture=True)
- except util.ProcessExecutionError as error:
- LOG.warn('Failed delete key "%s": %s', key, error)
-
-
-def get_key_by_id(keyid, keyserver="keyserver.ubuntu.com"):
- """get gpg keyid from keyserver"""
- armour = export_armour(keyid)
- if not armour:
- try:
- receive_key(keyid, keyserver=keyserver)
- armour = export_armour(keyid)
- except ValueError:
- LOG.exception('Failed to obtain gpg key %s', keyid)
- raise
- finally:
- # delete just imported key to leave environment as it was before
- delete_key(keyid)
-
- return armour