1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- #!/bin/sh -ex
- tmpdir=`mktemp -d 2>/dev/null || mktemp -d -t jose`
- onexit() {
- rm -rf $tmpdir
- }
- trap onexit EXIT
- for T in '{"alg":"ECDH"}' '{"alg":"ECDH","crv":"P-256"}' '{"kty":"EC","crv":"P-256"}'; do
- jose jwk gen -i "$T" -o $tmpdir/exc_a.jwk
- jose jwk gen -i "$T" -o $tmpdir/exc_b.jwk
- jose jwk pub -i $tmpdir/exc_a.jwk -o $tmpdir/exc_a.pub.jwk
- jose jwk pub -i $tmpdir/exc_b.jwk -o $tmpdir/exc_b.pub.jwk
- a=`jose jwk exc -l $tmpdir/exc_a.jwk -r $tmpdir/exc_b.pub.jwk`
- b=`jose jwk exc -l $tmpdir/exc_b.jwk -r $tmpdir/exc_a.pub.jwk`
- c=`jose jwk exc -l $tmpdir/exc_a.jwk -r $tmpdir/exc_b.jwk`
- d=`jose jwk exc -l $tmpdir/exc_b.jwk -r $tmpdir/exc_a.jwk`
- test "$a" = "$b"
- test "$c" = "$d"
- test "$a" = "$c"
- ! jose jwk exc -l $tmpdir/exc_a.pub.jwk -r $tmpdir/exc_b.jwk
- ! jose jwk exc -l $tmpdir/exc_b.pub.jwk -r $tmpdir/exc_a.jwk
- ! jose jwk exc -l $tmpdir/exc_a.pub.jwk -r $tmpdir/exc_b.pub.jwk
- ! jose jwk exc -l $tmpdir/exc_b.pub.jwk -r $tmpdir/exc_a.pub.jwk
- done
- jose jwk gen -i '{"alg":"ECDH","crv":"P-384"}' -o $tmpdir/exc_c.jwk
- ! jose jwk exc -l $tmpdir/exc_c.jwk -r $tmpdir/exc_a.pub.jwk
- jose jwk gen -i '{"kty":"EC","crv":"P-384"}' -o $tmpdir/exc_c.jwk
- ! jose jwk exc -l $tmpdir/exc_c.jwk -r $tmpdir/exc_a.pub.jwk
- jose jwk gen -i '{ "alg": "ES256" }' -o $tmpdir/exc_c.jwk
- ! jose jwk exc -l $tmpdir/exc_c.jwk -r $tmpdir/exc_a.pub.jwk
- srv=`jose jwk gen -i '{"alg":"ECMR"}'`
- clt=`jose jwk gen -i '{"alg":"ECMR"}'`
- eph=`jose jwk gen -i '{"alg":"ECMR"}'`
- spb=`echo "$srv" | jose jwk pub -i-`
- cpb=`echo "$clt" | jose jwk pub -i-`
- key=`echo "$clt$spb" | jose jwk exc -l- -r-`
- sub=`echo "$eph$spb" | jose jwk exc -l- -r- -i '{"alg":"ECMR"}'`
- req=`echo "$cpb$eph" | jose jwk exc -l- -r- -i '{"alg":"ECMR"}'`
- rep=`echo "$srv$req" | jose jwk exc -l- -r- -i '{"alg":"ECMR"}'`
- rec=`echo "$rep$sub" | jose jwk exc -l- -r-`
- echo "$key$rec" | jose fmt -j- -Oj- -OE
|