10afa8e06SEd Maste#!/bin/sh -ex 20afa8e06SEd Maste 3*2ccfa855SEd Maste# Copyright (c) 2021-2022 Yubico AB. All rights reserved. 40afa8e06SEd Maste# Use of this source code is governed by a BSD-style 50afa8e06SEd Maste# license that can be found in the LICENSE file. 6*2ccfa855SEd Maste# SPDX-License-Identifier: BSD-2-Clause 70afa8e06SEd Maste 80afa8e06SEd Maste# usage: ./test.sh "$(mktemp -d fido2test-XXXXXXXX)" device 90afa8e06SEd Maste 100afa8e06SEd Maste# Please note that this test script: 110afa8e06SEd Maste# - is incomplete; 120afa8e06SEd Maste# - assumes CTAP 2.1-like hmac-secret; 130afa8e06SEd Maste# - should pass as-is on a YubiKey with a PIN set; 140afa8e06SEd Maste# - may otherwise require set +e above; 150afa8e06SEd Maste# - can be executed with UV=1 to run additional UV tests; 163e696dfbSEd Maste# - was last tested on 2022-01-11 with firmware 5.4.3. 170afa8e06SEd Maste 180afa8e06SEd Mastecd "$1" 190afa8e06SEd MasteDEV="$2" 20*2ccfa855SEd MasteTYPE="es256" 21*2ccfa855SEd Maste#TYPE="es384" 22*2ccfa855SEd Maste#TYPE="eddsa" 230afa8e06SEd Maste 240afa8e06SEd Mastemake_cred() { 253e696dfbSEd Maste sed /^$/d > cred_param << EOF 260afa8e06SEd Maste$(dd if=/dev/urandom bs=32 count=1 2>/dev/null | base64) 270afa8e06SEd Maste$1 280afa8e06SEd Mastesome user name 290afa8e06SEd Maste$(dd if=/dev/urandom bs=32 count=1 2>/dev/null | base64) 300afa8e06SEd MasteEOF 31*2ccfa855SEd Maste fido2-cred -M $2 "${DEV}" "${TYPE}" > "$3" < cred_param 320afa8e06SEd Maste} 330afa8e06SEd Maste 340afa8e06SEd Masteverify_cred() { 35*2ccfa855SEd Maste fido2-cred -V $1 "${TYPE}" > cred_out < "$2" 360afa8e06SEd Maste head -1 cred_out > "$3" 370afa8e06SEd Maste tail -n +2 cred_out > "$4" 380afa8e06SEd Maste} 390afa8e06SEd Maste 400afa8e06SEd Masteget_assert() { 413e696dfbSEd Maste sed /^$/d > assert_param << EOF 420afa8e06SEd Maste$(dd if=/dev/urandom bs=32 count=1 2>/dev/null | base64) 430afa8e06SEd Maste$1 440afa8e06SEd Maste$(cat $3) 450afa8e06SEd Maste$(cat $4) 460afa8e06SEd MasteEOF 470afa8e06SEd Maste fido2-assert -G $2 "${DEV}" > "$5" < assert_param 480afa8e06SEd Maste} 490afa8e06SEd Maste 500afa8e06SEd Masteverify_assert() { 51*2ccfa855SEd Maste fido2-assert -V $1 "$2" "${TYPE}" < "$3" 520afa8e06SEd Maste} 530afa8e06SEd Maste 540afa8e06SEd Mastedd if=/dev/urandom bs=32 count=1 | base64 > hmac-salt 550afa8e06SEd Maste 560afa8e06SEd Maste# u2f 57*2ccfa855SEd Masteif [ "x${TYPE}" = "xes256" ]; then 580afa8e06SEd Maste make_cred no.tld "-u" u2f 590afa8e06SEd Maste ! make_cred no.tld "-ru" /dev/null 600afa8e06SEd Maste ! make_cred no.tld "-uc1" /dev/null 610afa8e06SEd Maste ! make_cred no.tld "-uc2" /dev/null 620afa8e06SEd Maste verify_cred "--" u2f u2f-cred u2f-pubkey 630afa8e06SEd Maste ! verify_cred "-h" u2f /dev/null /dev/null 640afa8e06SEd Maste ! verify_cred "-v" u2f /dev/null /dev/null 650afa8e06SEd Maste verify_cred "-c0" u2f /dev/null /dev/null 660afa8e06SEd Maste ! verify_cred "-c1" u2f /dev/null /dev/null 670afa8e06SEd Maste ! verify_cred "-c2" u2f /dev/null /dev/null 680afa8e06SEd Maste ! verify_cred "-c3" u2f /dev/null /dev/null 69*2ccfa855SEd Mastefi 700afa8e06SEd Maste 710afa8e06SEd Maste# wrap (non-resident) 720afa8e06SEd Mastemake_cred no.tld "--" wrap 730afa8e06SEd Masteverify_cred "--" wrap wrap-cred wrap-pubkey 740afa8e06SEd Maste! verify_cred "-h" wrap /dev/null /dev/null 750afa8e06SEd Maste! verify_cred "-v" wrap /dev/null /dev/null 760afa8e06SEd Masteverify_cred "-c0" wrap /dev/null /dev/null 770afa8e06SEd Maste! verify_cred "-c1" wrap /dev/null /dev/null 780afa8e06SEd Maste! verify_cred "-c2" wrap /dev/null /dev/null 790afa8e06SEd Maste! verify_cred "-c3" wrap /dev/null /dev/null 800afa8e06SEd Maste 810afa8e06SEd Maste# wrap (non-resident) + hmac-secret 820afa8e06SEd Mastemake_cred no.tld "-h" wrap-hs 830afa8e06SEd Maste! verify_cred "--" wrap-hs /dev/null /dev/null 840afa8e06SEd Masteverify_cred "-h" wrap-hs wrap-hs-cred wrap-hs-pubkey 850afa8e06SEd Maste! verify_cred "-v" wrap-hs /dev/null /dev/null 860afa8e06SEd Masteverify_cred "-hc0" wrap-hs /dev/null /dev/null 870afa8e06SEd Maste! verify_cred "-c0" wrap-hs /dev/null /dev/null 880afa8e06SEd Maste! verify_cred "-c1" wrap-hs /dev/null /dev/null 890afa8e06SEd Maste! verify_cred "-c2" wrap-hs /dev/null /dev/null 900afa8e06SEd Maste! verify_cred "-c3" wrap-hs /dev/null /dev/null 910afa8e06SEd Maste 920afa8e06SEd Maste# resident 930afa8e06SEd Mastemake_cred no.tld "-r" rk 940afa8e06SEd Masteverify_cred "--" rk rk-cred rk-pubkey 950afa8e06SEd Maste! verify_cred "-h" rk /dev/null /dev/null 960afa8e06SEd Maste! verify_cred "-v" rk /dev/null /dev/null 970afa8e06SEd Masteverify_cred "-c0" rk /dev/null /dev/null 980afa8e06SEd Maste! verify_cred "-c1" rk /dev/null /dev/null 990afa8e06SEd Maste! verify_cred "-c2" rk /dev/null /dev/null 1000afa8e06SEd Maste! verify_cred "-c3" rk /dev/null /dev/null 1010afa8e06SEd Maste 1020afa8e06SEd Maste# resident + hmac-secret 1030afa8e06SEd Mastemake_cred no.tld "-hr" rk-hs 1040afa8e06SEd Maste! verify_cred "--" rk-hs rk-hs-cred rk-hs-pubkey 1050afa8e06SEd Masteverify_cred "-h" rk-hs /dev/null /dev/null 1060afa8e06SEd Maste! verify_cred "-v" rk-hs /dev/null /dev/null 1070afa8e06SEd Masteverify_cred "-hc0" rk-hs /dev/null /dev/null 1080afa8e06SEd Maste! verify_cred "-c0" rk-hs /dev/null /dev/null 1090afa8e06SEd Maste! verify_cred "-c1" rk-hs /dev/null /dev/null 1100afa8e06SEd Maste! verify_cred "-c2" rk-hs /dev/null /dev/null 1110afa8e06SEd Maste! verify_cred "-c3" rk-hs /dev/null /dev/null 1120afa8e06SEd Maste 1130afa8e06SEd Maste# u2f 114*2ccfa855SEd Masteif [ "x${TYPE}" = "xes256" ]; then 1150afa8e06SEd Maste get_assert no.tld "-u" u2f-cred /dev/null u2f-assert 1160afa8e06SEd Maste ! get_assert no.tld "-u -t up=false" u2f-cred /dev/null /dev/null 1170afa8e06SEd Maste verify_assert "--" u2f-pubkey u2f-assert 1180afa8e06SEd Maste verify_assert "-p" u2f-pubkey u2f-assert 119*2ccfa855SEd Mastefi 1200afa8e06SEd Maste 1210afa8e06SEd Maste# wrap (non-resident) 1220afa8e06SEd Masteget_assert no.tld "--" wrap-cred /dev/null wrap-assert 1230afa8e06SEd Masteverify_assert "--" wrap-pubkey wrap-assert 1240afa8e06SEd Masteget_assert no.tld "-t pin=true" wrap-cred /dev/null wrap-assert 1250afa8e06SEd Masteverify_assert "--" wrap-pubkey wrap-assert 1260afa8e06SEd Masteverify_assert "-v" wrap-pubkey wrap-assert 1270afa8e06SEd Masteget_assert no.tld "-t pin=false" wrap-cred /dev/null wrap-assert 1280afa8e06SEd Masteverify_assert "--" wrap-pubkey wrap-assert 1290afa8e06SEd Masteget_assert no.tld "-t up=true" wrap-cred /dev/null wrap-assert 1300afa8e06SEd Masteverify_assert "-p" wrap-pubkey wrap-assert 1310afa8e06SEd Masteget_assert no.tld "-t up=true -t pin=true" wrap-cred /dev/null wrap-assert 1320afa8e06SEd Masteverify_assert "--" wrap-pubkey wrap-assert 1330afa8e06SEd Masteverify_assert "-p" wrap-pubkey wrap-assert 1340afa8e06SEd Masteverify_assert "-v" wrap-pubkey wrap-assert 1350afa8e06SEd Masteverify_assert "-pv" wrap-pubkey wrap-assert 1360afa8e06SEd Masteget_assert no.tld "-t up=true -t pin=false" wrap-cred /dev/null wrap-assert 1370afa8e06SEd Masteverify_assert "--" wrap-pubkey wrap-assert 1380afa8e06SEd Masteverify_assert "-p" wrap-pubkey wrap-assert 1390afa8e06SEd Masteget_assert no.tld "-t up=false" wrap-cred /dev/null wrap-assert 1400afa8e06SEd Masteverify_assert "--" wrap-pubkey wrap-assert 1410afa8e06SEd Maste! verify_assert "-p" wrap-pubkey wrap-assert 1420afa8e06SEd Masteget_assert no.tld "-t up=false -t pin=true" wrap-cred /dev/null wrap-assert 1430afa8e06SEd Maste! verify_assert "-p" wrap-pubkey wrap-assert 1440afa8e06SEd Masteverify_assert "-v" wrap-pubkey wrap-assert 1450afa8e06SEd Maste! verify_assert "-pv" wrap-pubkey wrap-assert 1460afa8e06SEd Masteget_assert no.tld "-t up=false -t pin=false" wrap-cred /dev/null wrap-assert 1470afa8e06SEd Maste! verify_assert "-p" wrap-pubkey wrap-assert 1480afa8e06SEd Masteget_assert no.tld "-h" wrap-cred hmac-salt wrap-assert 1490afa8e06SEd Maste! verify_assert "--" wrap-pubkey wrap-assert 1500afa8e06SEd Masteverify_assert "-h" wrap-pubkey wrap-assert 1510afa8e06SEd Masteget_assert no.tld "-h -t pin=true" wrap-cred hmac-salt wrap-assert 1520afa8e06SEd Maste! verify_assert "--" wrap-pubkey wrap-assert 1530afa8e06SEd Masteverify_assert "-h" wrap-pubkey wrap-assert 1540afa8e06SEd Masteverify_assert "-hv" wrap-pubkey wrap-assert 1550afa8e06SEd Masteget_assert no.tld "-h -t pin=false" wrap-cred hmac-salt wrap-assert 1560afa8e06SEd Maste! verify_assert "--" wrap-pubkey wrap-assert 1570afa8e06SEd Masteverify_assert "-h" wrap-pubkey wrap-assert 1580afa8e06SEd Masteget_assert no.tld "-h -t up=true" wrap-cred hmac-salt wrap-assert 1590afa8e06SEd Maste! verify_assert "--" wrap-pubkey wrap-assert 1600afa8e06SEd Masteverify_assert "-h" wrap-pubkey wrap-assert 1610afa8e06SEd Masteverify_assert "-hp" wrap-pubkey wrap-assert 1620afa8e06SEd Masteget_assert no.tld "-h -t up=true -t pin=true" wrap-cred hmac-salt wrap-assert 1630afa8e06SEd Maste! verify_assert "--" wrap-pubkey wrap-assert 1640afa8e06SEd Masteverify_assert "-h" wrap-pubkey wrap-assert 1650afa8e06SEd Masteverify_assert "-hp" wrap-pubkey wrap-assert 1660afa8e06SEd Masteverify_assert "-hv" wrap-pubkey wrap-assert 1670afa8e06SEd Masteverify_assert "-hpv" wrap-pubkey wrap-assert 1680afa8e06SEd Masteget_assert no.tld "-h -t up=true -t pin=false" wrap-cred hmac-salt wrap-assert 1690afa8e06SEd Maste! verify_assert "--" wrap-pubkey wrap-assert 1700afa8e06SEd Masteverify_assert "-h" wrap-pubkey wrap-assert 1710afa8e06SEd Masteverify_assert "-hp" wrap-pubkey wrap-assert 1720afa8e06SEd Maste! get_assert no.tld "-h -t up=false" wrap-cred hmac-salt wrap-assert 1730afa8e06SEd Maste! get_assert no.tld "-h -t up=false -t pin=true" wrap-cred hmac-salt wrap-assert 1740afa8e06SEd Maste! get_assert no.tld "-h -t up=false -t pin=false" wrap-cred hmac-salt wrap-assert 1750afa8e06SEd Maste 1760afa8e06SEd Masteif [ "x${UV}" != "x" ]; then 1770afa8e06SEd Maste get_assert no.tld "-t uv=true" wrap-cred /dev/null wrap-assert 1780afa8e06SEd Maste verify_assert "-v" wrap-pubkey wrap-assert 1790afa8e06SEd Maste get_assert no.tld "-t uv=true -t pin=true" wrap-cred /dev/null wrap-assert 1800afa8e06SEd Maste verify_assert "-v" wrap-pubkey wrap-assert 1810afa8e06SEd Maste get_assert no.tld "-t uv=true -t pin=false" wrap-cred /dev/null wrap-assert 1820afa8e06SEd Maste verify_assert "-v" wrap-pubkey wrap-assert 1830afa8e06SEd Maste get_assert no.tld "-t uv=false" wrap-cred /dev/null wrap-assert 1840afa8e06SEd Maste verify_assert "--" wrap-pubkey wrap-assert 1850afa8e06SEd Maste get_assert no.tld "-t uv=false -t pin=true" wrap-cred /dev/null wrap-assert 1860afa8e06SEd Maste verify_assert "-v" wrap-pubkey wrap-assert 1870afa8e06SEd Maste get_assert no.tld "-t uv=false -t pin=false" wrap-cred /dev/null wrap-assert 1880afa8e06SEd Maste verify_assert "--" wrap-pubkey wrap-assert 1890afa8e06SEd Maste get_assert no.tld "-t up=true -t uv=true" wrap-cred /dev/null wrap-assert 1900afa8e06SEd Maste verify_assert "-pv" wrap-pubkey wrap-assert 1910afa8e06SEd Maste get_assert no.tld "-t up=true -t uv=true -t pin=true" wrap-cred /dev/null wrap-assert 1920afa8e06SEd Maste verify_assert "-pv" wrap-pubkey wrap-assert 1930afa8e06SEd Maste get_assert no.tld "-t up=true -t uv=true -t pin=false" wrap-cred /dev/null wrap-assert 1940afa8e06SEd Maste verify_assert "-pv" wrap-pubkey wrap-assert 1950afa8e06SEd Maste get_assert no.tld "-t up=true -t uv=false" wrap-cred /dev/null wrap-assert 1960afa8e06SEd Maste verify_assert "-p" wrap-pubkey wrap-assert 1970afa8e06SEd Maste get_assert no.tld "-t up=true -t uv=false -t pin=true" wrap-cred /dev/null wrap-assert 1980afa8e06SEd Maste verify_assert "-pv" wrap-pubkey wrap-assert 1990afa8e06SEd Maste get_assert no.tld "-t up=true -t uv=false -t pin=false" wrap-cred /dev/null wrap-assert 2000afa8e06SEd Maste verify_assert "-p" wrap-pubkey wrap-assert 2010afa8e06SEd Maste get_assert no.tld "-t up=false -t uv=true" wrap-cred /dev/null wrap-assert 2020afa8e06SEd Maste verify_assert "-v" wrap-pubkey wrap-assert 2030afa8e06SEd Maste get_assert no.tld "-t up=false -t uv=true -t pin=true" wrap-cred /dev/null wrap-assert 2040afa8e06SEd Maste verify_assert "-v" wrap-pubkey wrap-assert 2050afa8e06SEd Maste get_assert no.tld "-t up=false -t uv=true -t pin=false" wrap-cred /dev/null wrap-assert 2060afa8e06SEd Maste verify_assert "-v" wrap-pubkey wrap-assert 2070afa8e06SEd Maste get_assert no.tld "-t up=false -t uv=false" wrap-cred /dev/null wrap-assert 2080afa8e06SEd Maste ! verify_assert "--" wrap-pubkey wrap-assert 2090afa8e06SEd Maste get_assert no.tld "-t up=false -t uv=false -t pin=true" wrap-cred /dev/null wrap-assert 2100afa8e06SEd Maste verify_assert "-v" wrap-pubkey wrap-assert 2110afa8e06SEd Maste get_assert no.tld "-t up=false -t uv=false -t pin=false" wrap-cred /dev/null wrap-assert 2120afa8e06SEd Maste ! verify_assert "--" wrap-pubkey wrap-assert 2130afa8e06SEd Maste get_assert no.tld "-h -t uv=true" wrap-cred hmac-salt wrap-assert 2140afa8e06SEd Maste verify_assert "-hv" wrap-pubkey wrap-assert 2150afa8e06SEd Maste get_assert no.tld "-h -t uv=true -t pin=true" wrap-cred hmac-salt wrap-assert 2160afa8e06SEd Maste verify_assert "-hv" wrap-pubkey wrap-assert 2170afa8e06SEd Maste get_assert no.tld "-h -t uv=true -t pin=false" wrap-cred hmac-salt wrap-assert 2180afa8e06SEd Maste verify_assert "-hv" wrap-pubkey wrap-assert 2190afa8e06SEd Maste get_assert no.tld "-h -t uv=false" wrap-cred hmac-salt wrap-assert 2200afa8e06SEd Maste verify_assert "-h" wrap-pubkey wrap-assert 2210afa8e06SEd Maste get_assert no.tld "-h -t uv=false -t pin=true" wrap-cred hmac-salt wrap-assert 2220afa8e06SEd Maste verify_assert "-hv" wrap-pubkey wrap-assert 2230afa8e06SEd Maste get_assert no.tld "-h -t uv=false -t pin=false" wrap-cred hmac-salt wrap-assert 2240afa8e06SEd Maste verify_assert "-h" wrap-pubkey wrap-assert 2250afa8e06SEd Maste get_assert no.tld "-h -t up=true -t uv=true" wrap-cred hmac-salt wrap-assert 2260afa8e06SEd Maste verify_assert "-hpv" wrap-pubkey wrap-assert 2270afa8e06SEd Maste get_assert no.tld "-h -t up=true -t uv=true -t pin=true" wrap-cred hmac-salt wrap-assert 2280afa8e06SEd Maste verify_assert "-hpv" wrap-pubkey wrap-assert 2290afa8e06SEd Maste get_assert no.tld "-h -t up=true -t uv=true -t pin=false" wrap-cred hmac-salt wrap-assert 2300afa8e06SEd Maste verify_assert "-hpv" wrap-pubkey wrap-assert 2310afa8e06SEd Maste get_assert no.tld "-h -t up=true -t uv=false" wrap-cred hmac-salt wrap-assert 2320afa8e06SEd Maste verify_assert "-hp" wrap-pubkey wrap-assert 2330afa8e06SEd Maste get_assert no.tld "-h -t up=true -t uv=false -t pin=true" wrap-cred hmac-salt wrap-assert 2340afa8e06SEd Maste verify_assert "-hpv" wrap-pubkey wrap-assert 2350afa8e06SEd Maste get_assert no.tld "-h -t up=true -t uv=false -t pin=false" wrap-cred hmac-salt wrap-assert 2360afa8e06SEd Maste verify_assert "-hp" wrap-pubkey wrap-assert 2370afa8e06SEd Maste ! get_assert no.tld "-h -t up=false -t uv=true" wrap-cred hmac-salt wrap-assert 2380afa8e06SEd Maste ! get_assert no.tld "-h -t up=false -t uv=true -t pin=true" wrap-cred hmac-salt wrap-assert 2390afa8e06SEd Maste ! get_assert no.tld "-h -t up=false -t uv=true -t pin=false" wrap-cred hmac-salt wrap-assert 2400afa8e06SEd Maste ! get_assert no.tld "-h -t up=false -t uv=false" wrap-cred hmac-salt wrap-assert 2410afa8e06SEd Maste ! get_assert no.tld "-h -t up=false -t uv=false -t pin=true" wrap-cred hmac-salt wrap-assert 2420afa8e06SEd Maste ! get_assert no.tld "-h -t up=false -t uv=false -t pin=false" wrap-cred hmac-salt wrap-assert 2430afa8e06SEd Mastefi 2440afa8e06SEd Maste 2450afa8e06SEd Maste# resident 2460afa8e06SEd Masteget_assert no.tld "-r" /dev/null /dev/null wrap-assert 2470afa8e06SEd Masteget_assert no.tld "-r -t pin=true" /dev/null /dev/null wrap-assert 2480afa8e06SEd Masteget_assert no.tld "-r -t pin=false" /dev/null /dev/null wrap-assert 2490afa8e06SEd Masteget_assert no.tld "-r -t up=true" /dev/null /dev/null wrap-assert 2500afa8e06SEd Masteget_assert no.tld "-r -t up=true -t pin=true" /dev/null /dev/null wrap-assert 2510afa8e06SEd Masteget_assert no.tld "-r -t up=true -t pin=false" /dev/null /dev/null wrap-assert 2520afa8e06SEd Masteget_assert no.tld "-r -t up=false" /dev/null /dev/null wrap-assert 2530afa8e06SEd Masteget_assert no.tld "-r -t up=false -t pin=true" /dev/null /dev/null wrap-assert 2540afa8e06SEd Masteget_assert no.tld "-r -t up=false -t pin=false" /dev/null /dev/null wrap-assert 2550afa8e06SEd Masteget_assert no.tld "-r -h" /dev/null hmac-salt wrap-assert 2560afa8e06SEd Masteget_assert no.tld "-r -h -t pin=true" /dev/null hmac-salt wrap-assert 2570afa8e06SEd Masteget_assert no.tld "-r -h -t pin=false" /dev/null hmac-salt wrap-assert 2580afa8e06SEd Masteget_assert no.tld "-r -h -t up=true" /dev/null hmac-salt wrap-assert 2590afa8e06SEd Masteget_assert no.tld "-r -h -t up=true -t pin=true" /dev/null hmac-salt wrap-assert 2600afa8e06SEd Masteget_assert no.tld "-r -h -t up=true -t pin=false" /dev/null hmac-salt wrap-assert 2610afa8e06SEd Maste! get_assert no.tld "-r -h -t up=false" /dev/null hmac-salt wrap-assert 2620afa8e06SEd Maste! get_assert no.tld "-r -h -t up=false -t pin=true" /dev/null hmac-salt wrap-assert 2630afa8e06SEd Maste! get_assert no.tld "-r -h -t up=false -t pin=false" /dev/null hmac-salt wrap-assert 2640afa8e06SEd Maste 2650afa8e06SEd Masteif [ "x${UV}" != "x" ]; then 2660afa8e06SEd Maste get_assert no.tld "-r -t uv=true" /dev/null /dev/null wrap-assert 2670afa8e06SEd Maste get_assert no.tld "-r -t uv=true -t pin=true" /dev/null /dev/null wrap-assert 2680afa8e06SEd Maste get_assert no.tld "-r -t uv=true -t pin=false" /dev/null /dev/null wrap-assert 2690afa8e06SEd Maste get_assert no.tld "-r -t uv=false" /dev/null /dev/null wrap-assert 2700afa8e06SEd Maste get_assert no.tld "-r -t uv=false -t pin=true" /dev/null /dev/null wrap-assert 2710afa8e06SEd Maste get_assert no.tld "-r -t uv=false -t pin=false" /dev/null /dev/null wrap-assert 2720afa8e06SEd Maste get_assert no.tld "-r -t up=true -t uv=true" /dev/null /dev/null wrap-assert 2730afa8e06SEd Maste get_assert no.tld "-r -t up=true -t uv=true -t pin=true" /dev/null /dev/null wrap-assert 2740afa8e06SEd Maste get_assert no.tld "-r -t up=true -t uv=true -t pin=false" /dev/null /dev/null wrap-assert 2750afa8e06SEd Maste get_assert no.tld "-r -t up=true -t uv=false" /dev/null /dev/null wrap-assert 2760afa8e06SEd Maste get_assert no.tld "-r -t up=true -t uv=false -t pin=true" /dev/null /dev/null wrap-assert 2770afa8e06SEd Maste get_assert no.tld "-r -t up=true -t uv=false -t pin=false" /dev/null /dev/null wrap-assert 2780afa8e06SEd Maste get_assert no.tld "-r -t up=false -t uv=true" /dev/null /dev/null wrap-assert 2790afa8e06SEd Maste get_assert no.tld "-r -t up=false -t uv=true -t pin=true" /dev/null /dev/null wrap-assert 2800afa8e06SEd Maste get_assert no.tld "-r -t up=false -t uv=true -t pin=false" /dev/null /dev/null wrap-assert 2810afa8e06SEd Maste get_assert no.tld "-r -t up=false -t uv=false" /dev/null /dev/null wrap-assert 2820afa8e06SEd Maste get_assert no.tld "-r -t up=false -t uv=false -t pin=true" /dev/null /dev/null wrap-assert 2830afa8e06SEd Maste get_assert no.tld "-r -t up=false -t uv=false -t pin=false" /dev/null /dev/null wrap-assert 2840afa8e06SEd Maste get_assert no.tld "-r -h -t uv=true" /dev/null hmac-salt wrap-assert 2850afa8e06SEd Maste get_assert no.tld "-r -h -t uv=true -t pin=true" /dev/null hmac-salt wrap-assert 2860afa8e06SEd Maste get_assert no.tld "-r -h -t uv=true -t pin=false" /dev/null hmac-salt wrap-assert 2870afa8e06SEd Maste get_assert no.tld "-r -h -t uv=false" /dev/null hmac-salt wrap-assert 2880afa8e06SEd Maste get_assert no.tld "-r -h -t uv=false -t pin=true" /dev/null hmac-salt wrap-assert 2890afa8e06SEd Maste get_assert no.tld "-r -h -t uv=false -t pin=false" /dev/null hmac-salt wrap-assert 2900afa8e06SEd Maste get_assert no.tld "-r -h -t up=true -t uv=true" /dev/null hmac-salt wrap-assert 2910afa8e06SEd Maste get_assert no.tld "-r -h -t up=true -t uv=true -t pin=true" /dev/null hmac-salt wrap-assert 2920afa8e06SEd Maste get_assert no.tld "-r -h -t up=true -t uv=true -t pin=false" /dev/null hmac-salt wrap-assert 2930afa8e06SEd Maste get_assert no.tld "-r -h -t up=true -t uv=false" /dev/null hmac-salt wrap-assert 2940afa8e06SEd Maste get_assert no.tld "-r -h -t up=true -t uv=false -t pin=true" /dev/null hmac-salt wrap-assert 2950afa8e06SEd Maste get_assert no.tld "-r -h -t up=true -t uv=false -t pin=false" /dev/null hmac-salt wrap-assert 2960afa8e06SEd Maste ! get_assert no.tld "-r -h -t up=false -t uv=true" /dev/null hmac-salt wrap-assert 2970afa8e06SEd Maste ! get_assert no.tld "-r -h -t up=false -t uv=true -t pin=true" /dev/null hmac-salt wrap-assert 2980afa8e06SEd Maste ! get_assert no.tld "-r -h -t up=false -t uv=true -t pin=false" /dev/null hmac-salt wrap-assert 2990afa8e06SEd Maste ! get_assert no.tld "-r -h -t up=false -t uv=false" /dev/null hmac-salt wrap-assert 3000afa8e06SEd Maste ! get_assert no.tld "-r -h -t up=false -t uv=false -t pin=true" /dev/null hmac-salt wrap-assert 3010afa8e06SEd Maste ! get_assert no.tld "-r -h -t up=false -t uv=false -t pin=false" /dev/null hmac-salt wrap-assert 3020afa8e06SEd Mastefi 3030afa8e06SEd Maste 3040afa8e06SEd Masteexit 0 305