# -*-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-2009 and are all released under the GPL,
# version 3 or later.

import_key() {

local keyFile
local hostName
local userID

keyFile="$1"
[ -f "$keyFile" ]

hostName=${2:-$(hostname -f)}
userID="ssh://${hostName}"

# create host home
mkdir -p "$GNUPGHOME_HOST"
chmod 700 "$GNUPGHOME_HOST"

log verbose "importing ssh key..."
# translate ssh key to a private key
PEM2OPENPGP_USAGE_FLAGS=authenticate pem2openpgp "$userID" <"$keyFile" \
    | gpg_host --import

# load the new host fpr into the fpr variable
load_fingerprint_secret

# export the host public key to the monkeysphere ssh pub key file
log debug "creating ssh public key file..."
ssh-keygen -y -f "$keyFile" > "$HOST_KEY_PUB"
log info "SSH host public key file: $HOST_KEY_PUB"

# export to gpg public key to file
create_gpg_pub_file

# show info about new key
show_key

}