X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=src%2Fshare%2Fmh%2Fimport_key;h=c545388f9aaedd0300d899acc5ded47d029e7533;hb=ad2ac2649dd86299a6904ae8ad0849d2c3410bdb;hp=557bb7faaee6712942bfe5bdd0eb5b195013c505;hpb=c1924de73702d0f999a44bc63df9bee0d432636a;p=monkeysphere.git diff --git a/src/share/mh/import_key b/src/share/mh/import_key index 557bb7f..c545388 100644 --- a/src/share/mh/import_key +++ b/src/share/mh/import_key @@ -13,15 +13,22 @@ import_key() { +local sshKeyFile local hostName local domain local userID -hostName="$1" +sshKeyFile="$1" +hostName="$2" + +# check that key file specified +if [ -z "$sshKeyFile" ] ; then + failure "Must specify ssh key file to import, or specify '-' for stdin." +fi # use the default hostname if not specified if [ -z "$hostName" ] ; then - hostName=$(hostname -f) + hostName=$(hostname -f) || failure "Could not determine hostname." # test that the domain is not obviously illegitimate domain=${foo##*.} case $domain in @@ -37,16 +44,37 @@ fi userID="ssh://${hostName}" +if [ "$PROMPT" = "true" ] ; then + cat <&1 | log debug +# import ssh key to a private key +if [ "$sshKeyFile" = '-' ] ; then + log verbose "importing ssh key from stdin..." + PEM2OPENPGP_USAGE_FLAGS=authenticate pem2openpgp "$userID" \ + | gpg_host --import +else + log verbose "importing ssh key from file '$sshKeyFile'..." + PEM2OPENPGP_USAGE_FLAGS=authenticate pem2openpgp "$userID" \ + <"$sshKeyFile" \ + | gpg_host --import +fi # load the new host fpr into the fpr variable. this is so we can # create the gpg pub key file. we have to do this from the secret key