gen_key() {
-local hostName=$(hostname -f)
+local hostName
local keyType="RSA"
local keyLength="2048"
local keyUsage="auth"
local keyExpire="0"
local userID
-# check for presense of a key
-[ "$FINGERPRINT" ] && \
- failure "An OpenPGP host key already exists."
-
# get options
while true ; do
case "$1" in
esac
done
-hostName="$1"
+hostName=${1:-$(hostname -f)}
userID="ssh://${hostName}"
# create host home
-mkdir -p "$GNUPGHOME_HOST"
-chmod 700 "$GNUPGHOME_HOST"
+mkdir -p "${MHDATADIR}"
+mkdir -p "${MHTMPDIR}"
+mkdir -p "${GNUPGHOME_HOST}"
+chmod 700 "${GNUPGHOME_HOST}"
log debug "generating host key..."
gpg_host --batch --gen-key <<EOF
EOF
-# find the key fingerprint of the newly converted key
-HOST_FINGERPRINT=$(fingerprint_host_key)
-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.
+# export the host secret key to the monkeysphere ssh sec key file
# NOTE: assumes that the primary key is the proper key to use
-log debug "exporting ssh secret key..."
+log debug "creating ssh secret key file..."
(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"
+ gpg_host --export-secret-key "$HOST_FINGERPRINT" | \
+ openpgp2ssh "$HOST_FINGERPRINT" > "${MHDATADIR}/ssh_host_rsa_key")
+log info "SSH host secret key file: ${MHDATADIR}/ssh_host_rsa_key"
-log debug "creating ssh public key..."
+# export the host public key to the monkeysphere ssh pub key file
+log debug "creating ssh public key file..."
ssh-keygen -y -f "${MHDATADIR}/ssh_host_rsa_key" > "$HOST_KEY_PUB"
-log info "SSH host public key output to file: $HOST_KEY_PUB"
+log info "SSH host public key file: $HOST_KEY_PUB"
-# 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