...
This commit is contained in:
		
							
								
								
									
										54
									
								
								examples/age_bash_demo.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										54
									
								
								examples/age_bash_demo.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -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." | ||||
		Reference in New Issue
	
	Block a user