From 0013a8b47a1cf2cdd4f50bba81c786155162825c Mon Sep 17 00:00:00 2001 From: Andrew Cady Date: Mon, 21 Oct 2019 20:43:54 -0400 Subject: add commands kiki-import-stdin & kiki-export-stdout --- Makefile | 2 +- src/kiki-export-stdout | 35 +++++++++++++++++++++++++++++++++++ src/kiki-import-stdin | 7 +++++++ 3 files changed, 43 insertions(+), 1 deletion(-) create mode 100755 src/kiki-export-stdout create mode 100755 src/kiki-import-stdin diff --git a/Makefile b/Makefile index 97bb23d..e16a464 100644 --- a/Makefile +++ b/Makefile @@ -19,7 +19,7 @@ samizdat-pinentry: src/samizdat-pinentry.c wait_for_files: src/wait_for_files.c $(CC) $(CFLAGS) $< -o $@ -bin_programs=$(addprefix src/, xorriso-usb.sh btrfs-functions.sh btrfs-receive-root.sh btrfs-send-root.sh var.sh grub-efi.sh keygen.sh initrd.sh qemu.sh dnsmasq-dhcp-script.sh samizdat-password-agent samizdat-gpg-agent publish-ip.sh selfstrap samizdat-daily-snapshot-root samizdat-diff-root) samizdat-paths.sh ${cc_files} ${btrfs_utils} +bin_programs=$(addprefix src/, xorriso-usb.sh btrfs-functions.sh btrfs-receive-root.sh btrfs-send-root.sh var.sh grub-efi.sh keygen.sh initrd.sh qemu.sh dnsmasq-dhcp-script.sh samizdat-password-agent samizdat-gpg-agent publish-ip.sh selfstrap samizdat-daily-snapshot-root samizdat-diff-root kiki-export-stdout kiki-import-stdin) samizdat-paths.sh ${cc_files} ${btrfs_utils} btrfs_utils=$(addprefix src/btrfs-utils/, btarfs btrfs-shrink with-btrfs-seed) diff --git a/src/kiki-export-stdout b/src/kiki-export-stdout new file mode 100755 index 0000000..e508a61 --- /dev/null +++ b/src/kiki-export-stdout @@ -0,0 +1,35 @@ +#!/bin/sh +tempd=$(mktemp -d) || exit +: ${sudo:=sudo} + +if [ "$USE_KIKI" ] +then + USE_GPG= +else + USE_GPG=y +fi + +touch "$tempd"/ring.gpg +key=$($sudo kiki | sed -n -e 's/^master-key \([A-Fa-f0-9]*\) -/\1/p') + +if [ "$USE_GPG" ] +then + $sudo gpg --export "$key" +else + $sudo kiki merge \ + --flow=spill,match="$key" \ + --home \ + --flow=fill \ + --type=keyring --access=public \ + "$tempd"/ring.gpg +fi +r=$? + +if [ $r = 0 ] +then + cat "$tempd"/ring.gpg || r=$? +fi + +rm -rf "$tempd" +exit $r + diff --git a/src/kiki-import-stdin b/src/kiki-import-stdin new file mode 100755 index 0000000..2fd25d6 --- /dev/null +++ b/src/kiki-import-stdin @@ -0,0 +1,7 @@ +#!/bin/sh +tempd=$(mktemp -d) || exit +cat > "$tempd"/ring.gpg +kiki import-public --import --autosign --import-if-authentic --keyrings "$tempd"/ring.gpg +r=$? +rm -rf "$tempd" +exit $r -- cgit v1.2.3