X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=src%2Fshare%2Fmh%2Fgen_key;h=873ed0298d24ae1e7a02e34359878eae73ee5967;hb=c27c0ad208919590a118d5f271d28b044beea9bb;hp=a73d85e7e75bfa5b0929877b1d387354596d211a;hpb=0ae461de6b7bf10d3b085dfd9a5d6d29ffd29116;p=monkeysphere.git diff --git a/src/share/mh/gen_key b/src/share/mh/gen_key index a73d85e..873ed02 100644 --- a/src/share/mh/gen_key +++ b/src/share/mh/gen_key @@ -13,19 +13,12 @@ gen_key() { +local hostName=$(hostname -f) local keyType="RSA" local keyLength="2048" local keyUsage="auth" -local keyExpire -local hostName=$(hostname -f) +local keyExpire="0" local userID -local keyParameters -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." # get options while true ; do @@ -34,68 +27,47 @@ while true ; do keyLength="$2" shift 2 ;; - -e|--expire) - keyExpire="$2" - shift 2 - ;; *) if [ "$(echo "$1" | cut -c 1)" = '-' ] ; then failure "Unknown option '$1'. Type '$PGRM help' for usage." fi - hostName="$1" - shift; break ;; esac done +hostName="$1" userID="ssh://${hostName}" -# prompt about key expiration if not specified -keyExpire=$(get_gpg_expiration "$keyExpire") +# create host home +mkdir -p "$GNUPGHOME_HOST" +chmod 700 "$GNUPGHOME_HOST" -# set key parameters -keyParameters=\ -"Key-Type: $keyType +log debug "generating host key..." +gpg_host --batch --gen-key < "${MHDATADIR}/ssh_host_rsa_key") -log info "SSH host private key output to file: ${MHDATADIR}/ssh_host_rsa_key" -ssh-keygen -y -f "${MHDATADIR}/ssh_host_rsa_key" > "${MHDATADIR}/ssh_host_rsa_key.pub" -log info "SSH host public key output to file: ${MHDATADIR}/ssh_host_rsa_key.pub" -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" +# export to gpg public key to file +create_gpg_pub_file # show info about new key show_key