summaryrefslogtreecommitdiff
path: root/src/share/mh
diff options
context:
space:
mode:
authorJameson Graef Rollins <jrollins@finestructure.net>2009-02-12 13:25:35 -0500
committerJameson Graef Rollins <jrollins@finestructure.net>2009-02-12 13:25:35 -0500
commitc4f049f6a8dfd1e0e301a6abffafb5c0012ccc0e (patch)
tree8c625494bd188940cd10f7b640195e3bd8eaf12d /src/share/mh
parentd71cf8d24bd9357a016b1ead375a67ccd955c130 (diff)
break out a bunch of common functions in monkeysphere-host:
- create_*_*_file to create the key files - load_*fingerprint to load the host fingerprint into an exported variable (HOST_FINGERPRINT) - check_host_*key to check for the presence of a host key modified {import,gen}_key to use these new functions.
Diffstat (limited to 'src/share/mh')
-rw-r--r--src/share/mh/gen_key28
-rw-r--r--src/share/mh/import_key13
2 files changed, 12 insertions, 29 deletions
diff --git a/src/share/mh/gen_key b/src/share/mh/gen_key
index 7b427e4..873ed02 100644
--- a/src/share/mh/gen_key
+++ b/src/share/mh/gen_key
@@ -20,10 +20,6 @@ local keyUsage="auth"
local keyExpire="0"
local userID
-# check for presense of a key
-[ "$HOST_FINGERPRINT" ] && \
- failure "An OpenPGP host key already exists."
-
# get options
while true ; do
case "$1" in
@@ -61,25 +57,17 @@ Expire-Date: $keyExpire
EOF
-# find the key fingerprint of the newly converted key
-HOST_FINGERPRINT=$(get_host_fingerprint)
-export HOST_FINGERPRINT
+# load the new host fpr into the fpr variable
+load_fingerprint_secret
-# translate the private key to ssh format, and export to a file
-# for sshs usage.
-# NOTE: assumes that the primary key is the proper key to use
-log debug "exporting ssh secret key..."
-(umask 077 && \
- gpg_host --export-secret-key "$HOST_FINGERPRINT" | \
- openpgp2ssh "$HOST_FINGERPRINT" > "${MHDATADIR}/ssh_host_rsa_key")
-log info "SSH host private key output to file: ${MHDATADIR}/ssh_host_rsa_key"
+# export to ssh secret key file
+create_ssh_sec_file
-log debug "creating ssh public key..."
-ssh-keygen -y -f "${MHDATADIR}/ssh_host_rsa_key" > "$HOST_KEY_PUB"
-log info "SSH host public key output to file: $HOST_KEY_PUB"
+# export to ssh public key file
+create_ssh_pub_file
-# export public key to file
-gpg_host_export_to_ssh_file
+# export to gpg public key to file
+create_gpg_pub_file
# show info about new key
show_key
diff --git a/src/share/mh/import_key b/src/share/mh/import_key
index 99511a8..9be8dce 100644
--- a/src/share/mh/import_key
+++ b/src/share/mh/import_key
@@ -16,10 +16,6 @@ import_key() {
local hostName
local userID
-# check for presense of a key
-[ "$HOST_FINGERPRINT" ] && \
- failure "An OpenPGP host key already exists."
-
hostName=${1:-$(hostname -f)}
userID="ssh://${hostName}"
@@ -33,12 +29,11 @@ log verbose "importing ssh key..."
PEM2OPENPGP_USAGE_FLAGS=authenticate pem2openpgp "$userID" | \
gpg_host --import
-# find the key fingerprint of the newly converted key
-HOST_FINGERPRINT=$(get_host_fingerprint)
-export HOST_FINGERPRINT
+# load the new host fpr into the fpr variable
+load_fingerprint_secret
-# export public key to file
-gpg_host_export_to_ssh_file
+# export to gpg public key to file
+create_gpg_pub_file
# show info about new key
show_key