| #!/bin/sh |
| |
| # This uses a passphrase supplied by the user. |
| # Do not create any fie with extension "wkey" in $DIR; these are |
| # reserved for wrapped data key files. |
| |
| [ "$#" -lt 1 ] && echo "cluster_key_command usage: $0 %R [\"%p\"]" 1>&2 && exit 1 |
| |
| FD="$1" |
| [ ! -t "$FD" ] && echo "file descriptor $FD does not refer to a terminal" 1>&2 && exit 1 |
| # Supports environment variable PROMPT |
| |
| [ "$2" ] && PROMPT="$2" |
| |
| |
| # ---------------------------------------------------------------------- |
| |
| [ ! "$PROMPT" ] && PROMPT='Enter cluster passphrase: ' |
| |
| stty -echo <&"$FD" |
| |
| echo 1>&"$FD" |
| echo -n "$PROMPT" 1>&"$FD" |
| read PASS <&"$FD" |
| |
| stty echo <&"$FD" |
| |
| if [ ! "$PASS" ] |
| then echo 'invalid: empty passphrase' 1>&2 |
| exit 1 |
| fi |
| |
| echo "$PASS" | sha256sum | cut -d' ' -f1 |
| |
| exit 0 |