#!/bin/bash -xe # vim: set tabstop=8 shiftwidth=4 softtabstop=4 expandtab smarttab colorcolumn=80: # # Copyright (c) 2016 Red Hat, Inc. # Author: Nathaniel McCallum # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # . tang-common-test-functions on_exit() { exit_status=$? tang_stop "${TMP}" [ -d "$TMP" ] && rm -rf "$TMP" exit "${exit_status}" } trap 'on_exit' EXIT TMP="$(mktemp -d)" port=$(tang_new_random_port) tang_run "${TMP}" "${port}" sig exc thp="$(jose jwk thp -i "$TMP/db/sig.jwk")" adv="${TMP}/adv.jws" tang_get_adv "${port}" "${adv}" url="http://localhost:${port}" cfg="$(printf '{"url":"%s","adv":"%s"}' "$url" "$adv")" enc="$(echo -n "hi" | clevis encrypt tang "$cfg")" dec="$(echo -n "$enc" | clevis decrypt)" test "$dec" == "hi" cfg="$(printf '{"url":"%s","thp":"%s"}' "$url" "$thp")" enc="$(echo -n "hi" | clevis encrypt tang "$cfg")" dec="$(echo -n "$enc" | clevis decrypt)" test "$dec" == "hi" tang_stop "${TMP}" ! echo "$enc" | clevis decrypt