summaryrefslogtreecommitdiff
path: root/bin/taler-deployment-prepare
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2020-03-09 13:39:48 +0530
committerFlorian Dold <florian.dold@gmail.com>2020-03-09 13:39:48 +0530
commit8e546625f9e2d85159b1eeec425b98d2bcde9de6 (patch)
treed5bfb7ff17c564e021650c4e7163f1dd9c1c4c38 /bin/taler-deployment-prepare
parent1537312e5bf0e7c78efcaf232f4140a17a4366a0 (diff)
downloaddeployment-8e546625f9e2d85159b1eeec425b98d2bcde9de6.tar.gz
deployment-8e546625f9e2d85159b1eeec425b98d2bcde9de6.tar.bz2
deployment-8e546625f9e2d85159b1eeec425b98d2bcde9de6.zip
copy keys with checks, make shellcheck happier
Diffstat (limited to 'bin/taler-deployment-prepare')
-rwxr-xr-xbin/taler-deployment-prepare38
1 files changed, 28 insertions, 10 deletions
diff --git a/bin/taler-deployment-prepare b/bin/taler-deployment-prepare
index b3ddd4b..20d737b 100755
--- a/bin/taler-deployment-prepare
+++ b/bin/taler-deployment-prepare
@@ -9,7 +9,7 @@
set -eu
-source $HOME/activate
+source "$HOME/activate"
if [[ -z ${TALER_ENV_NAME+x} ]]; then
echo "TALER_ENV_NAME not set"
@@ -22,14 +22,14 @@ if [[ -z ${TALER_CONFIG_CURRENCY+x} ]]; then
fi
function generate_config() {
- EXCHANGE_PUB=$(gnunet-ecc -p $HOME/deployment/private-keys/${TALER_ENV_NAME}-exchange-master.priv)
+ EXCHANGE_PUB=$(gnunet-ecc -p "$HOME/deployment/private-keys/${TALER_ENV_NAME}-exchange-master.priv")
- mkdir -p $HOME/.config
+ mkdir -p "$HOME/.config"
- $HOME/deployment/bin/taler-config-generate \
+ "$HOME/deployment/bin/taler-config-generate" \
--exchange-pub "$EXCHANGE_PUB" \
--currency "$TALER_CONFIG_CURRENCY" \
- --outdir $HOME/.config \
+ --outdir "$HOME/.config" \
--envname "$TALER_ENV_NAME"
}
@@ -50,18 +50,36 @@ esac
## Step 2: Copy key material and update denom keys
##
+case $TALER_ENV_NAME in
+ demo|test|int)
+ EXCHANGE_PUB=$(gnunet-ecc -p "$HOME/deployment/private-keys/${TALER_ENV_NAME}-exchange-master.priv")
+ EXCHANGE_PRIV_FILE=$(taler-config -f -s exchange -o master_priv_file)
+ if [[ -e "$EXCHANGE_PRIV_FILE" ]]; then
+ EXCHANGE_PUB2=$(gnunet-ecc -p "$EXCHANGE_PRIV_FILE")
+ if [[ "$EXCHANGE_PUB" != "$EXCHANGE_PUB2" ]]; then
+ echo "Warning: Different exchange private key already exists, not copying"
+ fi
+ else
+ cp "$HOME/deployment/private-keys/${TALER_ENV_NAME}-exchange-master.priv" "$EXCHANGE_PRIV_FILE"
+ fi
+ ;;
+ *)
+ echo "Not copying key material for env $TALER_ENV_NAME"
+ ;;
+esac
+
EXCHANGE_MASTER_PUB=$(taler-config -s exchange -o master_public_key)
taler-auditor-exchange \
- -m $EXCHANGE_MASTER_PUB \
- -u $(taler-config -s exchange -o base_url) || true
+ -m "$EXCHANGE_MASTER_PUB" \
+ -u "$(taler-config -s exchange -o base_url)" || true
rm -f auditor.in
taler-exchange-keyup -o auditor.in
-taler-auditor-sign -m $EXCHANGE_MASTER_PUB -r auditor.in -o auditor.out || true
+taler-auditor-sign -m "$EXCHANGE_MASTER_PUB" -r auditor.in -o auditor.out || true
rm -f auditor.in auditor.out # we don't actually use the auditor's signatures in the demo!
# Make configuration accessible to auditor
-chmod 750 $HOME/.config
+chmod 750 "$HOME/.config"
##
## Step 3: Sign the exchange's wire information
@@ -70,7 +88,7 @@ chmod 750 $HOME/.config
WIRE_RESPONSE=$(taler-config -s exchange-account-1 -o wire_response -f)
taler-exchange-wire
-chmod 770 $WIRE_RESPONSE
+chmod 770 "$WIRE_RESPONSE"
##