Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/crypto/krb5/src/tests/gssapi/t_bindings.py
34889 views
1
from k5test import *
2
3
realm = K5Realm()
4
server = 'p:' + realm.host_princ
5
6
mark('krb5 channel bindings')
7
realm.run(['./t_bindings', server, '-', '-'], expected_msg='no')
8
realm.run(['./t_bindings', server, 'a', '-'], expected_msg='no')
9
realm.run(['./t_bindings', server, 'a', 'a'], expected_msg='yes')
10
realm.run(['./t_bindings', server, '-', 'a'], expected_msg='no')
11
realm.run(['./t_bindings', server, 'a', 'x'],
12
expected_code=1, expected_msg='Incorrect channel bindings')
13
14
mark('SPNEGO channel bindings')
15
realm.run(['./t_bindings', '-s', server, '-', '-'], expected_msg='no')
16
realm.run(['./t_bindings', '-s', server, 'a', '-'], expected_msg='no')
17
realm.run(['./t_bindings', '-s', server, 'a', 'a'], expected_msg='yes')
18
realm.run(['./t_bindings', '-s', server, '-', 'a'], expected_msg='no')
19
realm.run(['./t_bindings', '-s', server, 'a', 'x'],
20
expected_code=1, expected_msg='Incorrect channel bindings')
21
22
client_aware_conf = {'libdefaults': {'client_aware_channel_bindings': 'true'}}
23
e = realm.special_env('cb_aware', False, krb5_conf=client_aware_conf)
24
25
mark('krb5 client_aware_channel_bindings')
26
realm.run(['./t_bindings', server, '-', '-'], env=e, expected_msg='no')
27
realm.run(['./t_bindings', server, 'a', '-'], env=e, expected_msg='no')
28
realm.run(['./t_bindings', server, 'a', 'a'], env=e, expected_msg='yes')
29
realm.run(['./t_bindings', server, '-', 'a'], env=e,
30
expected_code=1, expected_msg='Incorrect channel bindings')
31
realm.run(['./t_bindings', server, 'a', 'x'], env=e,
32
expected_code=1, expected_msg='Incorrect channel bindings')
33
34
mark('SPNEGO client_aware_channel_bindings')
35
realm.run(['./t_bindings', '-s', server, '-', '-'], env=e, expected_msg='no')
36
realm.run(['./t_bindings', '-s', server, 'a', '-'], env=e, expected_msg='no')
37
realm.run(['./t_bindings', '-s', server, 'a', 'a'], env=e, expected_msg='yes')
38
realm.run(['./t_bindings', '-s', server, '-', 'a'], env=e,
39
expected_code=1, expected_msg='Incorrect channel bindings')
40
realm.run(['./t_bindings', '-s', server, 'a', 'x'], env=e,
41
expected_code=1, expected_msg='Incorrect channel bindings')
42
43
mark('krb5 GSS_C_CHANNEL_BOUND_FLAG initiator input flag')
44
realm.run(['./t_bindings', '-b', server, '-', '-'], expected_msg='no')
45
realm.run(['./t_bindings', '-b', server, 'a', '-'], expected_msg='no')
46
realm.run(['./t_bindings', '-b', server, 'a', 'a'], expected_msg='yes')
47
realm.run(['./t_bindings', '-b', server, '-', 'a'],
48
expected_code=1, expected_msg='Incorrect channel bindings')
49
realm.run(['./t_bindings', '-b', server, 'a', 'x'],
50
expected_code=1, expected_msg='Incorrect channel bindings')
51
52
mark('SPNEGO GSS_C_CHANNEL_BOUND_FLAG initiator input flag')
53
realm.run(['./t_bindings', '-s', '-b', server, '-', '-'], expected_msg='no')
54
realm.run(['./t_bindings', '-s', '-b', server, 'a', '-'], expected_msg='no')
55
realm.run(['./t_bindings', '-s', '-b', server, 'a', 'a'], expected_msg='yes')
56
realm.run(['./t_bindings', '-s', '-b', server, '-', 'a'],
57
expected_code=1, expected_msg='Incorrect channel bindings')
58
realm.run(['./t_bindings', '-s', '-b', server, 'a', 'x'],
59
expected_code=1, expected_msg='Incorrect channel bindings')
60
61
success('channel bindings tests')
62
63