blob: ada291474aefe6a61268923d488eba24c89aba46 (
plain)
- # -*-shell-script-*-
- # This should be sourced by bash (though we welcome changes to make it POSIX sh compliant)
- # Monkeysphere host import-key subcommand
- #
- # The monkeysphere scripts are written by:
- # Jameson Rollins <jrollins@finestructure.net>
- # Jamie McClelland <jm@mayfirst.org>
- # Daniel Kahn Gillmor <dkg@fifthhorseman.net>
- #
- # They are Copyright 2008-2010 and are all released under the GPL,
- # version 3 or later.
- import_key() {
- local keyFile="$1"
- local serviceName="$2"
- # check that key file specified
- if [ -z "$keyFile" ] ; then
- failure "Must specify PEM-encoded key file to import, or specify '-' for stdin."
- fi
- # fail if hostname not specified
- if [ -z "$serviceName" ] ; then
- failure "You must specify a service name for use in the OpenPGP certificate user ID."
- fi
- # check that the service name is well formatted
- check_service_name "$serviceName"
- # create host home
- mkdir -p "${MHDATADIR}"
- mkdir -p "${GNUPGHOME_HOST}"
- chmod 700 "${GNUPGHOME_HOST}"
- # import pem-encoded key to an OpenPGP private key
- if [ "$keyFile" = '-' ] ; then
- log verbose "importing key from stdin..."
- PEM2OPENPGP_USAGE_FLAGS=authenticate pem2openpgp "$serviceName" \
- | gpg_host --import
- else
- log verbose "importing key from file '$keyFile'..."
- PEM2OPENPGP_USAGE_FLAGS=authenticate pem2openpgp "$serviceName" \
- <"$keyFile" \
- | gpg_host --import
- fi
- # export to gpg public key to file
- update_gpg_pub_file
- log info "host key imported:"
- # show info about new key
- show_key "$serviceName"
- }
|