54 lines
1.8 KiB
Bash
Executable File
54 lines
1.8 KiB
Bash
Executable File
#!/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." |