| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 | 
							- #!/bin/sh -ex
 
- ALGS=`jose alg -k sign`
 
- tmpdir=`mktemp -d 2>/dev/null || mktemp -d -t jose`
 
- onexit() {
 
-     rm -rf $tmpdir
 
- }
 
- trap onexit EXIT
 
- msg=$tmpdir/msg.txt
 
- printf "hi" > $msg
 
- for a in $ALGS; do
 
-     jwk=$tmpdir/$a.jwk
 
-     jws=$tmpdir/$a.jws
 
-     jose jwk gen -i "{\"alg\":\"$a\"}" -o $jwk
 
-     jose jwk pub -i $jwk -o $jwk.pub
 
-     old=$prv
 
-     prv=$jwk
 
- done
 
- for a in $ALGS; do
 
-     jwk=$tmpdir/$a.jwk
 
-     jws=$tmpdir/$a.jws
 
-     printf "hi" | jose jws sig -I- -k $jwk    | jose jws ver -i- -k $jwk
 
-     printf "hi" | jose jws sig -I- -k $jwk -c | jose jws ver -i- -k $jwk
 
-     jose jws sig -o $jws -k $jwk -I $msg
 
-     jose jws ver -i $jws -k $jwk
 
-     rm -f $jws
 
-     jose jws sig -o $jws -k $jwk -I $msg -c
 
-     jose jws ver -i $jws -k $jwk
 
-     rm -f $jws
 
-     det=`jose jws sig -I $msg -k $jwk -o /dev/null -O-`
 
-     [ "$det" = "hi" ]
 
-     jws=`jose jws sig -I $msg -k $jwk -O /dev/null`
 
-     ! jose jws ver -i "$jws" -k $jwk
 
-     det=`jose jws ver -i "$jws" -k $jwk -I $msg -O-`
 
-     [ "$det" = "hi" ]
 
-     jws=`jose jws sig -I $msg -k $jwk`
 
-     det=`jose jws ver -i "$jws" -k $jwk`
 
-     [ "$det" = "" ]
 
-     det=`jose jws ver -i "$jws" -k $jwk -O-`
 
-     [ "$det" = "hi" ]
 
-     jws=`jose jws sig -I $msg -k $jwk -c`
 
-     det=`jose jws ver -i "$jws" -k $jwk`
 
-     [ "$det" = "" ]
 
-     det=`jose jws ver -i "$jws" -k $jwk -O-`
 
-     [ "$det" = "hi" ]
 
-     jws=`jose jws sig -k $jwk -I $msg -s "{\"protected\":{\"alg\":\"$a\"}}"`
 
-     jose jws ver -i "$jws" -k $jwk
 
-     jws=`jose jws sig -k $jwk -i "{\"payload\":\"aGkK\"}"`
 
-     jose jws ver -i "$jws" -k $jwk
 
-     for b in $ALGS; do
 
-         [ $a = $b ] && continue
 
-         ! jose jws sig -I $msg -k $jwk -s "{\"protected\":{\"alg\":\"$b\"}}"
 
-         jws=`jose jws sig -I $msg -k $jwk`
 
-         ! jose jws ver -i "$jws" -k $tmpdir/$b.jwk
 
-     done
 
-     jws=`jose jws sig -I $msg -k $jwk -k $prv`
 
-     jose jws ver -i "$jws" -k $jwk
 
-     jose jws ver -i "$jws" -k $prv
 
-     ! jose jws ver -i "$jws" -k $old
 
-     jose jws ver -i "$jws" -k $jwk -k $prv -a
 
-     ! jose jws ver -i "$jws" -k $jwk -k $prv -k $old -a
 
-     old=$prv
 
-     prv=$jwk
 
- done
 
- for tmpl in '{"kty":"oct","bytes":32}' '{"kty":"RSA","bits":2048}' '{"kty":"EC","crv":"P-256"}'; do
 
-     jose jwk gen -i "$tmpl" -o $tmpdir/jwk
 
-     printf '%s' "$msg" | jose jws sig -I- -k $tmpdir/jwk -o $tmpdir/jws
 
-     [ "`jose jws ver -i $tmpdir/jws -k $tmpdir/jwk -O-`" = "$msg" ]
 
- done
 
 
  |