summaryrefslogtreecommitdiff
path: root/src/share/mh/import_key
diff options
context:
space:
mode:
Diffstat (limited to 'src/share/mh/import_key')
-rw-r--r--src/share/mh/import_key19
1 files changed, 8 insertions, 11 deletions
diff --git a/src/share/mh/import_key b/src/share/mh/import_key
index 2e73a8c..99511a8 100644
--- a/src/share/mh/import_key
+++ b/src/share/mh/import_key
@@ -15,12 +15,10 @@ import_key() {
local hostName
local userID
-local fingerprint
-# check for presense of secret key
-# FIXME: is this the proper test to be doing here?
-fingerprint_host_key >/dev/null \
- && failure "An OpenPGP host key already exists."
+# check for presense of a key
+[ "$HOST_FINGERPRINT" ] && \
+ failure "An OpenPGP host key already exists."
hostName=${1:-$(hostname -f)}
@@ -32,16 +30,15 @@ chmod 700 "$GNUPGHOME_HOST"
log verbose "importing ssh key..."
# translate ssh key to a private key
-(umask 077 && \
- pem2openpgp "$userID" | gpg_host --import)
+PEM2OPENPGP_USAGE_FLAGS=authenticate pem2openpgp "$userID" | \
+ gpg_host --import
# find the key fingerprint of the newly converted key
-fingerprint=$(fingerprint_host_key)
+HOST_FINGERPRINT=$(get_host_fingerprint)
+export HOST_FINGERPRINT
# export public key to file
-log debug "exporting openpgp public key..."
-gpg_host --export-options export-minimal --armor --export "0x${fingerprint}!" > "${MHDATADIR}/ssh_host_rsa_key.pub.gpg"
-log info "SSH host public key in OpenPGP form: ${MHDATADIR}/ssh_host_rsa_key.pub.gpg"
+gpg_host_export_to_ssh_file
# show info about new key
show_key