diff options
Diffstat (limited to 'lib/container')
-rwxr-xr-x | lib/container/key | 152 |
1 files changed, 0 insertions, 152 deletions
diff --git a/lib/container/key b/lib/container/key deleted file mode 100755 index 1b59555..0000000 --- a/lib/container/key +++ /dev/null @@ -1,152 +0,0 @@ -#!/bin/sh - -# Copyright (C) 2014-2019 Daniel Baumann <daniel.baumann@open-infrastructure.net> -# -# SPDX-License-Identifier: GPL-3.0+ -# -# This program 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. -# -# 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/>. - -set -e - -PROJECT="open-infrastructure" -PROGRAM="container" -COMMAND="$(basename ${0})" - -KEYS="/etc/${PROJECT}/${PROGRAM}/keys" - -Parameters () -{ - GETOPT_LONGOPTIONS="add:,list,remove:," - GETOPT_OPTIONS="a:,l,r:," - - PARAMETERS="$(getopt --longoptions ${GETOPT_LONGOPTIONS} --name=${COMMAND} --options ${GETOPT_OPTIONS} --shell sh -- ${@})" - - if [ "${?}" != "0" ] - then - echo "'${COMMAND}': getopt exit" >&2 - exit 1 - fi - - eval set -- "${PARAMETERS}" - - while true - do - case "${1}" in - -a|--add) - ADD="${2}" - ACTION="add" - shift 2 - ;; - - -l|--list) - ACTION="list" - shift 1 - ;; - - -r|--remove) - REMOVE="${2}" - ACTION="remove" - shift 2 - ;; - - --) - shift 1 - break - ;; - - *) - echo "'${COMMAND}': getopt error" >&2 - exit 1 - ;; - esac - done -} - -Usage () -{ - echo "Usage: ${PROGRAM} ${COMMAND} [-a|--add KEY] [-l|--list] [-r|--remove KEY]" >&2 - exit 1 -} - -Parameters "${@}" - -if [ -z "${ACTION}" ] -then - Usage -fi - -# Pre hooks -for FILE in "${HOOKS}/pre-${COMMAND}".* "${HOOKS}/${NAME}.pre-${COMMAND}" -do - if [ -x "${FILE}" ] - then - "${FILE}" - fi -done - -# Run -if [ ! -e "${KEYS}" ] -then - mkdir -p "${KEYS}" - - chown root:root "${KEYS}" - chmod 0700 "${KEYS}" - -cat > "${KEYS}/gnupg.conf" << EOF -keyserver hkps://hkps.pool.sks-keyservers.net -keyserver-options include-revoked -keyserver-options no-honor-keyserver-url - -cert-digest-algo SHA512 -default-preference-list SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES ZLIB ZIP Uncompressed -personal-cipher-preferences AES256 AES192 AES -personal-compress-preferences ZLIB ZIP Uncompressed -personal-digest-preferences SHA512 SHA384 SHA256 SHA224 - -no-comments -no-emit-version -no-greeting -keyid-format 0xlong -list-options show-keyring -list-options show-uid-validity -verify-options show-uid-validity -with-fingerprint - -charset utf-8 -EOF - -fi - -case "${ACTION}" in - add) - gpg --homedir "${KEYS}" --import "${ADD}" - ;; - - list) - gpg --homedir "${KEYS}" --list-keys - ;; - - remove) - gpg --homedir "${KEYS}" --delete-keys "${REMOVE}" - ;; -esac - -# Post hooks -for FILE in "${HOOKS}/post-${COMMAND}".* "${HOOKS}/${NAME}.post-${COMMAND}" -do - if [ -x "${FILE}" ] - then - "${FILE}" - fi -done |