forked from named-data/PyCCN
-
Notifications
You must be signed in to change notification settings - Fork 0
/
key.py
48 lines (33 loc) · 1.22 KB
/
key.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
from pyccn import Key, Name, _pyccn, CCN
n = Name("/this/is/a/name")
ccn_name1 = n.ccn_data
name1 = _pyccn.name_comps_from_ccn(ccn_name1)
locator1 = _pyccn.KeyLocator_to_ccn(name=ccn_name1)
print(locator1)
locator1_obj = _pyccn.KeyLocator_obj_from_ccn(locator1)
print(locator1_obj)
print(locator1_obj.keyName)
name2 = _pyccn.name_comps_from_ccn(locator1_obj.keyName.ccn_data)
print(name2)
for comp1, comp2 in zip(name1, name2):
if comp1 != comp2:
raise AssertionError("Got a different output: '%s' != '%s'" % (comp1, comp2))
key1 = CCN.getDefaultKey()
locator2 = _pyccn.KeyLocator_to_ccn(key=key1.ccn_data_public)
print(locator2)
locator2_obj = _pyccn.KeyLocator_obj_from_ccn(locator2)
key2 = locator2_obj.key
print(key2)
print(key1.ccn_data_public)
print(key2.ccn_data_public)
assert(key1.publicToDER() == key2.publicToDER())
del key2
key2 = _pyccn.Key_obj_from_ccn(key1.ccn_data_private)
assert(key1.publicKeyID == key2.publicKeyID)
assert(key1.publicToDER() == key2.publicToDER())
assert(key1.privateToDER() == key2.privateToDER())
del key2
key2 = _pyccn.Key_obj_from_ccn(key1.ccn_data_public)
assert(key1.publicKeyID == key2.publicKeyID)
assert(key1.publicToDER() == key2.publicToDER())
assert(key2.ccn_data_private == None)