summaryrefslogtreecommitdiff
path: root/src/seckey2sshagent
blob: 0e8d69526a360fa7710d753d3d93d8928e7b1175 (plain)
  1. #!/bin/sh
  2. cleanup() {
  3. echo -n "removing temp gpg home... "
  4. rm -rf $FOO
  5. echo "done."
  6. }
  7. trap cleanup EXIT
  8. GPGID="$1"
  9. idchars=$(echo $GPGID | wc -m)
  10. if [ "$idchars" -ne 17 ] ; then
  11. echo "GPGID is not 16 characters ($idchars)."
  12. exit 1
  13. fi
  14. FOO=$(mktemp -d)
  15. gpg --export-secret-key --export-options export-reset-subkey-passwd $GPGID | GNUPGHOME=$FOO gpg --import
  16. GNUPGHOME=$FOO gpg --edit-key $GPGID
  17. GNUPGHOME=$FOO gpg --export-secret-key $GPGID | openpgp2ssh $GPGID | ssh-add -c /dev/stdin