02-decrypt-reference-file.sh 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #!/bin/sh
  2. ### Constants
  3. c_valgrind_min=1
  4. reference_file="${scriptdir}/verify-strings/test_scrypt.good"
  5. encrypted_reference_file="${scriptdir}/verify-strings/test_scrypt_good.enc"
  6. decrypted_reference_file="${s_basename}-attempt_reference.txt"
  7. decrypted_reference_file_stderr="${s_basename}-attempt_reference.stderr"
  8. decrypted_badpass_file="${s_basename}-decrypt-badpass.txt"
  9. decrypted_badpass_log="${s_basename}-decrypt-badpass.log"
  10. scenario_cmd() {
  11. # Decrypt a reference file.
  12. setup_check "scrypt dec"
  13. (
  14. echo "${password}" | ${c_valgrind_cmd} "${bindir}/scrypt" \
  15. dec -P "${encrypted_reference_file}" \
  16. "${decrypted_reference_file}" \
  17. 2> "${decrypted_reference_file_stderr}"
  18. echo $? > "${c_exitfile}"
  19. )
  20. # The decrypted reference file should match the reference.
  21. setup_check "scrypt dec output against reference"
  22. cmp -s "${decrypted_reference_file}" "${reference_file}"
  23. echo $? > "${c_exitfile}"
  24. # We should not have any output on stderr.
  25. setup_check "scrypt dec no stderr"
  26. test -s "${decrypted_reference_file_stderr}"
  27. expected_exitcode 1 $? > "${c_exitfile}"
  28. # Attempt to decrypt the reference file with an incorrect passphrase.
  29. # We want this command to fail with 1.
  30. setup_check "scrypt dec bad passphrase"
  31. (
  32. echo "bad-pass" | ${c_valgrind_cmd} "${bindir}/scrypt" \
  33. dec -P "${encrypted_reference_file}" \
  34. "${decrypted_badpass_file}" \
  35. 2> "${decrypted_badpass_log}"
  36. expected_exitcode 1 $? > "${c_exitfile}"
  37. )
  38. # We should have received an error message.
  39. setup_check "scrypt dec bad passphrase error"
  40. if grep -q "scrypt: Passphrase is incorrect" \
  41. "${decrypted_badpass_log}"; then
  42. echo "0"
  43. else
  44. echo "1"
  45. fi > "${c_exitfile}"
  46. # We should not have created a file.
  47. setup_check "scrypt dec bad passphrase no file"
  48. if [ -e "${decrypted_badpass_file}" ]; then
  49. echo "1"
  50. else
  51. echo "0"
  52. fi > "${c_exitfile}"
  53. }