summaryrefslogtreecommitdiff
path: root/src/seckey2sshagent
diff options
context:
space:
mode:
authorMicah Anderson <micah@riseup.net>2008-06-18 23:35:20 -0400
committerMicah Anderson <micah@riseup.net>2008-06-18 23:35:20 -0400
commit308aa104f66a40f2426c13b96f48631937502f6b (patch)
tree55e1b1427ba23750b0c239e5d43fc3ffa49b0293 /src/seckey2sshagent
parenta9a56853a27e1dbce3c48af327b0adff0e4c38e0 (diff)
parent9c94e937fbe8beb56956365cac07d6eff45215cd (diff)
Merge commit 'dkg/master'
Conflicts: doc/MonkeySpec
Diffstat (limited to 'src/seckey2sshagent')
-rwxr-xr-xsrc/seckey2sshagent25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/seckey2sshagent b/src/seckey2sshagent
new file mode 100755
index 0000000..0e8d695
--- /dev/null
+++ b/src/seckey2sshagent
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+cleanup() {
+ echo -n "removing temp gpg home... "
+ rm -rf $FOO
+ echo "done."
+}
+
+trap cleanup EXIT
+
+GPGID="$1"
+
+idchars=$(echo $GPGID | wc -m)
+if [ "$idchars" -ne 17 ] ; then
+ echo "GPGID is not 16 characters ($idchars)."
+ exit 1
+fi
+
+FOO=$(mktemp -d)
+
+gpg --export-secret-key --export-options export-reset-subkey-passwd $GPGID | GNUPGHOME=$FOO gpg --import
+
+GNUPGHOME=$FOO gpg --edit-key $GPGID
+
+GNUPGHOME=$FOO gpg --export-secret-key $GPGID | openpgp2ssh $GPGID | ssh-add -c /dev/stdin