X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=src%2Fshare%2Fmh%2Fgen_key;h=873ed0298d24ae1e7a02e34359878eae73ee5967;hb=9f033ac0c9a96acbbc583327026adb37e4d5a8a9;hp=c0445db6e6bc38208ca4bb91e2474958c382a05f;hpb=89e447e2001c0406fab6d2e6ca300a19d492435b;p=monkeysphere.git diff --git a/src/share/mh/gen_key b/src/share/mh/gen_key index c0445db..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_server_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