source: examples/python_tests/alice_rt1/query.py @ 669b481

mei_rt2mei_rt2_fix_1
Last change on this file since 669b481 was 669b481, checked in by Mei <mei@…>, 12 years ago

1) finish test conversion from creddy-prover to python
2) update the abac.hh/API doc more, adding more intermediate calls

to make abac.hh more uniform

3) found out why a very long attribute rule can not survive in/out of

ietf_attribute_t call (m64 en/decoding - abac_verifier, alice_rt1)

  • Property mode set to 100755
File size: 2.0 KB
Line 
1#!/usr/bin/env python
2
3"""
4  to test with python
5
6cmd1:env keystore=`pwd` ./query.py
7cmd2: env ABAC_CN=1 keystore=`pwd` ./query.py
8
9"""
10
11import os
12import ABAC
13
14ctxt = ABAC.Context()
15
16# print "ABAC version %s" % ctxt.version()
17
18keystore=os.environ["keystore"]
19
20ctxt.load_directory(keystore)
21
22aliceID=ABAC.ID("Alice_ID.pem")
23aliceID.id_load_privkey_file("Alice_private.pem")
24alice=aliceID.id_keyid()
25
26partyID=ABAC.ID("Party_ID.pem")
27partyID.id_load_privkey_file("Party_private.pem")
28party=partyID.id_keyid()
29
30teaID=ABAC.ID("Tea_ID.pem")
31teaID.id_load_privkey_file("Tea_private.pem")
32tea=teaID.id_keyid()
33
34hatterID=ABAC.ID("Hatter_ID.pem")
35hatterID.id_load_privkey_file("Hatter_private.pem")
36hatter=hatterID.id_keyid()
37
38marchhareID=ABAC.ID("Marchhare_ID.pem")
39marchhareID.id_load_privkey_file("Marchhare_private.pem")
40marchhare=marchhareID.id_keyid()
41
42dormouseID=ABAC.ID("Dormouse_ID.pem")
43dormouseID.id_load_privkey_file("Dormouse_private.pem")
44dormouse=dormouseID.id_keyid()
45
46
47
48##########################################################################
49# role=[keyid:Party].role:guests
50# p=[keyid:dormouse]
51role = ABAC.Role(party,"guests")
52p = ABAC.Role(dormouse)
53print "\n===good============ Party.guests <- dourmouse"
54out = ctxt.query(role, p)
55for c in out[1]:
56    print "%s <- %s" % (c.head_string(), c.tail_string())
57
58##########################################################################
59# role=[keyid:Party].role:guests
60# p=[keyid:hatter]
61role = ABAC.Role(party,"guests")
62p = ABAC.Role(hatter)
63print "\n===bad============ Party.guests <- hatter"
64out = ctxt.query(role, p)
65for c in out[1]:
66    print "%s <- %s" % (c.head_string(), c.tail_string())
67
68
69##########################################################################
70# dump the loaded principals/policies
71#
72out = ctxt.context_principals()
73print "\n...final principal set..."
74for x in out[1]:
75    print "%s " % x.string()
76print "\n"
77out = ctxt.context_credentials()
78print "\n...final policy attribute set..."
79for c in out[1]:
80    print "%s <- %s" % (c.head_string(), c.tail_string())
81print "\n"
Note: See TracBrowser for help on using the repository browser.