From 542996a0ff69c1fe74935a5b2cf558e8b32c723d Mon Sep 17 00:00:00 2001 From: despiegk Date: Sat, 16 Aug 2025 13:33:56 +0200 Subject: [PATCH] ... --- examples/age_bash_demo.sh | 54 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100755 examples/age_bash_demo.sh diff --git a/examples/age_bash_demo.sh b/examples/age_bash_demo.sh new file mode 100755 index 0000000..7d4a42e --- /dev/null +++ b/examples/age_bash_demo.sh @@ -0,0 +1,54 @@ +#!/bin/bash + +# Start the herodb server in the background +echo "Starting herodb server..." +cargo run -- --dir /tmp/herodb_age_test --port 6382 --debug --encryption-key "testkey" & +SERVER_PID=$! +sleep 2 # Give the server a moment to start + +REDIS_CLI="redis-cli -p 6382" + +echo "--- Generating and Storing Encryption Keys ---" +$REDIS_CLI AGE.GENERATE_KEYPAIR alice +$REDIS_CLI AGE.GENERATE_KEYPAIR bob + +echo "--- Encrypting and Decrypting a Message ---" +MESSAGE="Hello, AGE encryption!" +ALICE_PUBKEY=$($REDIS_CLI AGE.GET_PUBKEY alice) +echo "Alice's Public Key: $ALICE_PUBKEY" + +echo "Encrypting message: '$MESSAGE' with Alice's public key..." +CIPHERTEXT=$($REDIS_CLI AGE.ENCRYPT "$MESSAGE" "$ALICE_PUBKEY") +echo "Ciphertext: $CIPHERTEXT" + +echo "Decrypting ciphertext with Alice's private key..." +DECRYPTED_MESSAGE=$($REDIS_CLI AGE.DECRYPT "$CIPHERTEXT" alice) +echo "Decrypted Message: $DECRYPTED_MESSAGE" + +echo "--- Generating and Storing Signing Keys ---" +$REDIS_CLI AGE.GENERATE_SIGN_KEYPAIR signer1 + +echo "--- Signing and Verifying a Message ---" +SIGN_MESSAGE="This is a message to be signed." +SIGNER1_PUBKEY=$($REDIS_CLI AGE.GET_SIGN_PUBKEY signer1) +echo "Signer1's Public Key: $SIGNER1_PUBKEY" + +echo "Signing message: '$SIGN_MESSAGE' with signer1's private key..." +SIGNATURE=$($REDIS_CLI AGE.SIGN "$SIGN_MESSAGE" signer1) +echo "Signature: $SIGNATURE" + +echo "Verifying signature with signer1's public key..." +VERIFY_RESULT=$($REDIS_CLI AGE.VERIFY "$SIGN_MESSAGE" "$SIGNATURE" "$SIGNER1_PUBKEY") +echo "Verification Result: $VERIFY_RESULT" + +echo "--- Cleaning up keys ---" +$REDIS_CLI AGE.DELETE_KEYPAIR alice +$REDIS_CLI AGE.DELETE_KEYPAIR bob +$REDIS_CLI AGE.DELETE_SIGN_KEYPAIR signer1 + +echo "--- Stopping herodb server ---" +kill $SERVER_PID +wait $SERVER_PID 2>/dev/null +echo "Server stopped." + +echo "Bash demo complete." \ No newline at end of file