# acme_rockets_intersection_rt0_typed pwd=`pwd` eloc=`which abac_prover_yap | sed 's/\/abac_prover_yap//'` if [ "$eloc" = "" ]; then echo "ERROR: abac_prover_yap is not in the search path!!!" exit 1 fi keyloc=$pwd acme=`creddy --keyid --cert $keyloc/Acme_ID.pem` batman=`creddy --keyid --cert $keyloc/Batman_ID.pem` coyote=`creddy --keyid --cert $keyloc/Coyote_ID.pem` buy_rockets="[keyid:$acme].role:buy_rockets" coyote_prin="[keyid:$coyote]" batman_prin="[keyid:$batman]" bad_buy_rockets="[keyid:$acme].role:bad_buy_rockets" bad_buy_rockets2="[keyid:99$acme].role:buy_rockets" ## dump all credentials $eloc/abac_prover_yap --keystore $keyloc --dump creds_dump #[keyid:Acme].role:buy_rockets <-?- [keyid:Coyote] #isMember(pCoyote, role(pAcme,buy_rockets), C). echo " " echo "===good============ Acme.buy_rockets <- Coyote" $eloc/abac_prover_yap --keystore $keyloc \ --role "$buy_rockets" --principal "$coyote_prin" #[keyid:Acme].role:bad_buy_rockets <-?- [keyid:Coyote] #isMember(pCoyote, role(pAcme,bad_buy_rockets), C). echo " " echo "===bad============ Acme.bad_buy_rockets <- Coyote" $eloc/abac_prover_yap --keystore $keyloc \ --role "$bad_buy_rockets" --principal "$coyote_prin" #[keyid:Acme99].role:buy_rockets <-?- [keyid:Coyote] #isMember(pCoyote99, role(99pAcme,buy_rockets), C). echo " " echo "===bad============ 99Acme.buy_rockets <- Coyote" $eloc/abac_prover_yap --keystore $keyloc \ --role "$bad_buy_rockets2" --principal "$coyote_prin" #Acme.buy_rockets <-?- Batman #[keyid:Acme].role:buy_rockets <-?- [keyid:Batman] #isMember(pBatman, role(pAcme,buy_rockets), C). echo " " echo "===bad=============== Acme.buy_rockets <- Batman" $eloc/abac_prover_yap --keystore $keyloc \ --role "$buy_rockets" --principal "$batman_prin"