Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(591)

Side by Side Diff: server/site_eap.py

Issue 6030011: Rearrange EAP setup so that it is more parameterizable for other EAP types (Closed) Base URL: ssh://git@gitrw.chromium.org:9222/autotest.git@master
Patch Set: Whitespace Created 9 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | server/site_linux_router.py » ('j') | server/site_wlan_connect.py » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved. 1 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import datetime, logging, re, subprocess, os 5 import datetime, logging, re, subprocess, os
6 6
7 # These certificate trees are for testing only in sealed containers 7 # These certificate trees are for testing only in sealed containers
8 # so it is okay that we have them checked into a GIT repository. 8 # so it is okay that we have them checked into a GIT repository.
9 # Nobody will ever use this information on the open air. 9 # Nobody will ever use this information on the open air.
10 10 ca_cert_1 = """-----BEGIN CERTIFICATE-----
11 cert_info = {
12 'cert1': {
13 'router': {
14 'ca_cert':
15 """-----BEGIN CERTIFICATE-----
16 MIIDMTCCApqgAwIBAgIJANAMhNy2leWKMA0GCSqGSIb3DQEBBQUAMG8xCzAJBgNV 11 MIIDMTCCApqgAwIBAgIJANAMhNy2leWKMA0GCSqGSIb3DQEBBQUAMG8xCzAJBgNV
17 BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBW 12 BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBW
18 aWV3MTMwMQYDVQQDEypjaHJvbWVsYWItd2lmaS10ZXN0YmVkLXJvb3QubXR2Lmdv 13 aWV3MTMwMQYDVQQDEypjaHJvbWVsYWItd2lmaS10ZXN0YmVkLXJvb3QubXR2Lmdv
19 b2dsZS5jb20wHhcNMTAwODExMDAyODI3WhcNMjAwODA4MDAyODI3WjBvMQswCQYD 14 b2dsZS5jb20wHhcNMTAwODExMDAyODI3WhcNMjAwODA4MDAyODI3WjBvMQswCQYD
20 VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4g 15 VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4g
21 VmlldzEzMDEGA1UEAxMqY2hyb21lbGFiLXdpZmktdGVzdGJlZC1yb290Lm10di5n 16 VmlldzEzMDEGA1UEAxMqY2hyb21lbGFiLXdpZmktdGVzdGJlZC1yb290Lm10di5n
22 b29nbGUuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDKzIZQXJjjtuQO 17 b29nbGUuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDKzIZQXJjjtuQO
23 hQvHUa436mSOSo7PTP4cM39Ip7dlSRqTL+lHdQN9d0dgrYQFvlHwaG5CBVYhtFtQ 18 hQvHUa436mSOSo7PTP4cM39Ip7dlSRqTL+lHdQN9d0dgrYQFvlHwaG5CBVYhtFtQ
24 JMy2ozauwTwtD5oHHL0DyhhgNA9H4zrTpM/t5euHpZwrOik7lnw87JBdKto/wy5X 19 JMy2ozauwTwtD5oHHL0DyhhgNA9H4zrTpM/t5euHpZwrOik7lnw87JBdKto/wy5X
25 bhKOwvrRSsJIVLc2j5bD0225EPff6wIDAQABo4HUMIHRMB0GA1UdDgQWBBRw5Wl2 20 bhKOwvrRSsJIVLc2j5bD0225EPff6wIDAQABo4HUMIHRMB0GA1UdDgQWBBRw5Wl2
26 YFf67mTeir0yYaF/jUS9QTCBoQYDVR0jBIGZMIGWgBRw5Wl2YFf67mTeir0yYaF/ 21 YFf67mTeir0yYaF/jUS9QTCBoQYDVR0jBIGZMIGWgBRw5Wl2YFf67mTeir0yYaF/
27 jUS9QaFzpHEwbzELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAU 22 jUS9QaFzpHEwbzELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAU
28 BgNVBAcTDU1vdW50YWluIFZpZXcxMzAxBgNVBAMTKmNocm9tZWxhYi13aWZpLXRl 23 BgNVBAcTDU1vdW50YWluIFZpZXcxMzAxBgNVBAMTKmNocm9tZWxhYi13aWZpLXRl
29 c3RiZWQtcm9vdC5tdHYuZ29vZ2xlLmNvbYIJANAMhNy2leWKMAwGA1UdEwQFMAMB 24 c3RiZWQtcm9vdC5tdHYuZ29vZ2xlLmNvbYIJANAMhNy2leWKMAwGA1UdEwQFMAMB
30 Af8wDQYJKoZIhvcNAQEFBQADgYEAZAiBupvbckbb9ICASaz0a1uE4VNSqAZhhBXm 25 Af8wDQYJKoZIhvcNAQEFBQADgYEAZAiBupvbckbb9ICASaz0a1uE4VNSqAZhhBXm
31 AmrjmwnYU+yFkGgscyoq6wLzA+VbbfeBo088GT1LTyzUFqnsLNk7NrT1dtuCPijS 26 AmrjmwnYU+yFkGgscyoq6wLzA+VbbfeBo088GT1LTyzUFqnsLNk7NrT1dtuCPijS
32 p8gKkMu03kpkoKO0H9OB7HMRcdB7O87c5S1de4PLqdTwooF0f+yT6dqivUHgP5KF 27 p8gKkMu03kpkoKO0H9OB7HMRcdB7O87c5S1de4PLqdTwooF0f+yT6dqivUHgP5KF
33 K3F2V44= 28 K3F2V44=
34 -----END CERTIFICATE-----""", 29 -----END CERTIFICATE-----"""
35 'server_cert': 30 server_cert_1 = """-----BEGIN CERTIFICATE-----
36 """-----BEGIN CERTIFICATE-----
37 MIIDPTCCAqagAwIBAgIDEAABMA0GCSqGSIb3DQEBBAUAMG8xCzAJBgNVBAYTAlVT 31 MIIDPTCCAqagAwIBAgIDEAABMA0GCSqGSIb3DQEBBAUAMG8xCzAJBgNVBAYTAlVT
38 MRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MTMw 32 MRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MTMw
39 MQYDVQQDEypjaHJvbWVsYWItd2lmaS10ZXN0YmVkLXJvb3QubXR2Lmdvb2dsZS5j 33 MQYDVQQDEypjaHJvbWVsYWItd2lmaS10ZXN0YmVkLXJvb3QubXR2Lmdvb2dsZS5j
40 b20wHhcNMTAwODExMDAyODI3WhcNMTEwODExMDAyODI3WjBxMQswCQYDVQQGEwJV 34 b20wHhcNMTAwODExMDAyODI3WhcNMTEwODExMDAyODI3WjBxMQswCQYDVQQGEwJV
41 UzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzE1 35 UzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzE1
42 MDMGA1UEAxMsY2hyb21lbGFiLXdpZmktdGVzdGJlZC1zZXJ2ZXIubXR2Lmdvb2ds 36 MDMGA1UEAxMsY2hyb21lbGFiLXdpZmktdGVzdGJlZC1zZXJ2ZXIubXR2Lmdvb2ds
43 ZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAPn4bKRL1o6E0V9346pa 37 ZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAPn4bKRL1o6E0V9346pa
44 ZNmeVujp8L6gIxk1z5cFDcs07K7XV4ML/M2GPaYuHFGYgs5PO29Bju/oG246kI/o 38 ZNmeVujp8L6gIxk1z5cFDcs07K7XV4ML/M2GPaYuHFGYgs5PO29Bju/oG246kI/o
45 n7uEEcVedXWYOuQL+W3QI7c6NYsAiQmMSpLRlqX9q0QCAMXs/Hipm0oKGYA5Tsdo 39 n7uEEcVedXWYOuQL+W3QI7c6NYsAiQmMSpLRlqX9q0QCAMXs/Hipm0oKGYA5Tsdo
46 q9UIszkOIhZHP+YPbkJFyrATAgMBAAGjgeQwgeEwCQYDVR0TBAIwADARBglghkgB 40 q9UIszkOIhZHP+YPbkJFyrATAgMBAAGjgeQwgeEwCQYDVR0TBAIwADARBglghkgB
47 hvhCAQEEBAMCBkAwHQYDVR0OBBYEFDYGlkJwDwKS0M4/SYFdTlLDcvsBMIGhBgNV 41 hvhCAQEEBAMCBkAwHQYDVR0OBBYEFDYGlkJwDwKS0M4/SYFdTlLDcvsBMIGhBgNV
48 HSMEgZkwgZaAFHDlaXZgV/ruZN6KvTJhoX+NRL1BoXOkcTBvMQswCQYDVQQGEwJV 42 HSMEgZkwgZaAFHDlaXZgV/ruZN6KvTJhoX+NRL1BoXOkcTBvMQswCQYDVQQGEwJV
49 UzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEz 43 UzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEz
50 MDEGA1UEAxMqY2hyb21lbGFiLXdpZmktdGVzdGJlZC1yb290Lm10di5nb29nbGUu 44 MDEGA1UEAxMqY2hyb21lbGFiLXdpZmktdGVzdGJlZC1yb290Lm10di5nb29nbGUu
51 Y29tggkA0AyE3LaV5YowDQYJKoZIhvcNAQEEBQADgYEAQphT8fiEPvwuDpzkuClg 45 Y29tggkA0AyE3LaV5YowDQYJKoZIhvcNAQEEBQADgYEAQphT8fiEPvwuDpzkuClg
52 xqajzKwX677ggbYrP+k1v2WIPRBUW7lZs8OdKgwkIxvD4RBNwztEcBreWJG0I5xQ 46 xqajzKwX677ggbYrP+k1v2WIPRBUW7lZs8OdKgwkIxvD4RBNwztEcBreWJG0I5xQ
53 sJ9H+K12INdQ+TOrSAiEYuy4bu9EXf2On7MsAgcSTbQHN3bLuvtag3frDVvERlMU 47 sJ9H+K12INdQ+TOrSAiEYuy4bu9EXf2On7MsAgcSTbQHN3bLuvtag3frDVvERlMU
54 iaHwTA/p/X5zeCxKQunfwP0= 48 iaHwTA/p/X5zeCxKQunfwP0=
55 -----END CERTIFICATE-----""", 49 -----END CERTIFICATE-----"""
56 'private_key': 50 server_private_key_1 = """-----BEGIN RSA PRIVATE KEY-----
57 """-----BEGIN RSA PRIVATE KEY-----
58 MIICXAIBAAKBgQD5+GykS9aOhNFfd+OqWmTZnlbo6fC+oCMZNc+XBQ3LNOyu11eD 51 MIICXAIBAAKBgQD5+GykS9aOhNFfd+OqWmTZnlbo6fC+oCMZNc+XBQ3LNOyu11eD
59 C/zNhj2mLhxRmILOTztvQY7v6BtuOpCP6J+7hBHFXnV1mDrkC/lt0CO3OjWLAIkJ 52 C/zNhj2mLhxRmILOTztvQY7v6BtuOpCP6J+7hBHFXnV1mDrkC/lt0CO3OjWLAIkJ
60 jEqS0Zal/atEAgDF7Px4qZtKChmAOU7HaKvVCLM5DiIWRz/mD25CRcqwEwIDAQAB 53 jEqS0Zal/atEAgDF7Px4qZtKChmAOU7HaKvVCLM5DiIWRz/mD25CRcqwEwIDAQAB
61 AoGBAPWF55f8kXKMzGXcCTdC8Dm7x5ugZIGoIrFZZFvub9z/T9Zv1xn1hUqNpzH5 54 AoGBAPWF55f8kXKMzGXcCTdC8Dm7x5ugZIGoIrFZZFvub9z/T9Zv1xn1hUqNpzH5
62 qoEOrrRbqIIfv3iu33qGdYWUNIZ2PO/9q/IQ31Z4eV2iVQ3kpjoZnvfhyJ7t0QXG 55 qoEOrrRbqIIfv3iu33qGdYWUNIZ2PO/9q/IQ31Z4eV2iVQ3kpjoZnvfhyJ7t0QXG
63 xbS1F5UAcS1cdVxPjWkXYg4uoIg3/Y+HCW6n77v8UPl0+QT5AkEA/1XfTVYqs6eI 56 xbS1F5UAcS1cdVxPjWkXYg4uoIg3/Y+HCW6n77v8UPl0+QT5AkEA/1XfTVYqs6eI
64 I7pNip+tqwFg93WewZ4it17O1VxaSZX+rjLs6+nxzVeWyIAcbw5Tdos4onafsf8t 57 I7pNip+tqwFg93WewZ4it17O1VxaSZX+rjLs6+nxzVeWyIAcbw5Tdos4onafsf8t
65 ncjrqB0ebQJBAPqe+jk97pazkSKqIyXogpApZ1EbJHHJblS4HU/FAq0wZHMqvDmy 58 ncjrqB0ebQJBAPqe+jk97pazkSKqIyXogpApZ1EbJHHJblS4HU/FAq0wZHMqvDmy
66 8sQR+B7RZ96MnuIGsVIbKz0BveuD+wn7+H8CQHl9k32JxVGsIiPVznVqGskmI8w6 59 8sQR+B7RZ96MnuIGsVIbKz0BveuD+wn7+H8CQHl9k32JxVGsIiPVznVqGskmI8w6
67 4+n+Y0hazRFKGw+uVfru8joiG1J4HZ+TDXRuHZpnDfCHft7DqyHLaw2XpVUCQCGW 60 4+n+Y0hazRFKGw+uVfru8joiG1J4HZ+TDXRuHZpnDfCHft7DqyHLaw2XpVUCQCGW
68 UrR/L011DTtXD9TRv0Wwts7w00aIl0e1UQBSx9QMCzo//O/CorRSMC15JPF3aQej 61 UrR/L011DTtXD9TRv0Wwts7w00aIl0e1UQBSx9QMCzo//O/CorRSMC15JPF3aQej
69 m/oD+Bx58kjw7CDfauMCQGV7dPtWmA6DbparS8Z59Fx25XpN6+asw+Krrq3iGqpf 62 m/oD+Bx58kjw7CDfauMCQGV7dPtWmA6DbparS8Z59Fx25XpN6+asw+Krrq3iGqpf
70 /E8LtHSUdiUZztQN0oUUCEh8C//2NRDUK5M2Y7kjF+Y= 63 /E8LtHSUdiUZztQN0oUUCEh8C//2NRDUK5M2Y7kjF+Y=
71 -----END RSA PRIVATE KEY-----""", 64 -----END RSA PRIVATE KEY-----"""
72 'eap_user_file': '* TLS' 65 client_cert_1 = """-----BEGIN CERTIFICATE-----
73 },
74 'client': {
75 'client_cert':
76 """-----BEGIN CERTIFICATE-----
77 MIIDKjCCApOgAwIBAgIDEAACMA0GCSqGSIb3DQEBBAUAMG8xCzAJBgNVBAYTAlVT 66 MIIDKjCCApOgAwIBAgIDEAACMA0GCSqGSIb3DQEBBAUAMG8xCzAJBgNVBAYTAlVT
78 MRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MTMw 67 MRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MTMw
79 MQYDVQQDEypjaHJvbWVsYWItd2lmaS10ZXN0YmVkLXJvb3QubXR2Lmdvb2dsZS5j 68 MQYDVQQDEypjaHJvbWVsYWItd2lmaS10ZXN0YmVkLXJvb3QubXR2Lmdvb2dsZS5j
80 b20wHhcNMTAwODExMDAyODMwWhcNMTEwODExMDAyODMwWjBxMQswCQYDVQQGEwJV 69 b20wHhcNMTAwODExMDAyODMwWhcNMTEwODExMDAyODMwWjBxMQswCQYDVQQGEwJV
81 UzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzE1 70 UzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzE1
82 MDMGA1UEAxMsY2hyb21lbGFiLXdpZmktdGVzdGJlZC1jbGllbnQubXR2Lmdvb2ds 71 MDMGA1UEAxMsY2hyb21lbGFiLXdpZmktdGVzdGJlZC1jbGllbnQubXR2Lmdvb2ds
83 ZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAJu8uIlc6Ags6KS2bwqO 72 ZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAJu8uIlc6Ags6KS2bwqO
84 flfILS//9YHJ/ch5GIC6PjA9HCUFlQSVuUb+igZ/CLZ+mTEiC76xVUD5GgZdJdHb 73 flfILS//9YHJ/ch5GIC6PjA9HCUFlQSVuUb+igZ/CLZ+mTEiC76xVUD5GgZdJdHb
85 lX0uTC6dI1N42pOklBNl3S3uXXyNGk1Ztg+6Lom/VKw1srlIKHIT/iMVYtzbt3+q 74 lX0uTC6dI1N42pOklBNl3S3uXXyNGk1Ztg+6Lom/VKw1srlIKHIT/iMVYtzbt3+q
86 hXOEjSMbMQb2hivwwV5kQSdDAgMBAAGjgdEwgc4wCQYDVR0TBAIwADAdBgNVHQ4E 75 hXOEjSMbMQb2hivwwV5kQSdDAgMBAAGjgdEwgc4wCQYDVR0TBAIwADAdBgNVHQ4E
87 FgQUMGYODAgMy1ohCO7Aau20Zw3lSO8wgaEGA1UdIwSBmTCBloAUcOVpdmBX+u5k 76 FgQUMGYODAgMy1ohCO7Aau20Zw3lSO8wgaEGA1UdIwSBmTCBloAUcOVpdmBX+u5k
88 3oq9MmGhf41EvUGhc6RxMG8xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9y 77 3oq9MmGhf41EvUGhc6RxMG8xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9y
89 bmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MTMwMQYDVQQDEypjaHJvbWVsYWIt 78 bmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MTMwMQYDVQQDEypjaHJvbWVsYWIt
90 d2lmaS10ZXN0YmVkLXJvb3QubXR2Lmdvb2dsZS5jb22CCQDQDITctpXlijANBgkq 79 d2lmaS10ZXN0YmVkLXJvb3QubXR2Lmdvb2dsZS5jb22CCQDQDITctpXlijANBgkq
91 hkiG9w0BAQQFAAOBgQAqUk+8N8NLGnLvNdRXYG2krhptGHO9h0YHjOh+xxOUcBis 80 hkiG9w0BAQQFAAOBgQAqUk+8N8NLGnLvNdRXYG2krhptGHO9h0YHjOh+xxOUcBis
92 DiSKG0/M5ucqGOJmF5DTDNVCLkjOcd69Zv+a/eFohlZ4K3rWo0vQs77e9rtkepB1 81 DiSKG0/M5ucqGOJmF5DTDNVCLkjOcd69Zv+a/eFohlZ4K3rWo0vQs77e9rtkepB1
93 N+6M3dMP8Z9dhfgUp3ha84mSBY6qguNFKzSUZsBQ6JF5xxhjBRHP/5t/Sz2k2A== 82 N+6M3dMP8Z9dhfgUp3ha84mSBY6qguNFKzSUZsBQ6JF5xxhjBRHP/5t/Sz2k2A==
94 -----END CERTIFICATE-----""", 83 -----END CERTIFICATE-----"""
95 'private_key': 84 client_private_key_1 = """-----BEGIN RSA PRIVATE KEY-----
96 """-----BEGIN RSA PRIVATE KEY-----
97 MIICXQIBAAKBgQCbvLiJXOgILOiktm8Kjn5XyC0v//WByf3IeRiAuj4wPRwlBZUE 85 MIICXQIBAAKBgQCbvLiJXOgILOiktm8Kjn5XyC0v//WByf3IeRiAuj4wPRwlBZUE
98 lblG/ooGfwi2fpkxIgu+sVVA+RoGXSXR25V9LkwunSNTeNqTpJQTZd0t7l18jRpN 86 lblG/ooGfwi2fpkxIgu+sVVA+RoGXSXR25V9LkwunSNTeNqTpJQTZd0t7l18jRpN
99 WbYPui6Jv1SsNbK5SChyE/4jFWLc27d/qoVzhI0jGzEG9oYr8MFeZEEnQwIDAQAB 87 WbYPui6Jv1SsNbK5SChyE/4jFWLc27d/qoVzhI0jGzEG9oYr8MFeZEEnQwIDAQAB
100 AoGBAJk2qinhcBkS7XGWVVoCY8PCmMofO44LhZQjpnqGP8Y/aJ/3hOp0zklNA8du 88 AoGBAJk2qinhcBkS7XGWVVoCY8PCmMofO44LhZQjpnqGP8Y/aJ/3hOp0zklNA8du
101 VMkNdXLD9uANID2ClBrsqtdx+vcac+mPSjxwI+tszVIzKHesYMf9XJJQrtP6gl4o 89 VMkNdXLD9uANID2ClBrsqtdx+vcac+mPSjxwI+tszVIzKHesYMf9XJJQrtP6gl4o
102 sA6YOQB65dhYLpckuR4vb28Dwo2W8Ha4lv/zzeCo9/LOOm5hAkEAzegQGCnAdeui 90 sA6YOQB65dhYLpckuR4vb28Dwo2W8Ha4lv/zzeCo9/LOOm5hAkEAzegQGCnAdeui
103 OShVZ69IcPJLMbZt641yeghWiBvclQxtvXk77Wf3jDoi16XqhGhvhkJRqcoUg+zg 91 OShVZ69IcPJLMbZt641yeghWiBvclQxtvXk77Wf3jDoi16XqhGhvhkJRqcoUg+zg
104 zwxFr6RqEwJBAMGgGBMPqNDtVS4pGcsr0xI8hIsDsSEBtlvfwpt1BeVJKdooQ51c 92 zwxFr6RqEwJBAMGgGBMPqNDtVS4pGcsr0xI8hIsDsSEBtlvfwpt1BeVJKdooQ51c
105 gDK7Q28MV/xtrvlvo2J1Slod/6sZ681U9BECQQCToBzh5hVZth4x0qwg0XgjmmO0 93 gDK7Q28MV/xtrvlvo2J1Slod/6sZ681U9BECQQCToBzh5hVZth4x0qwg0XgjmmO0
106 +bGnX1tDCPVZUnh82FNZtDD2DkNaY1gVupwAYIwM+0FndT3uNAgeChNwUXXHAkBB 94 +bGnX1tDCPVZUnh82FNZtDD2DkNaY1gVupwAYIwM+0FndT3uNAgeChNwUXXHAkBB
107 gkXC5TBrh3CjTnqQl8Iw0FLTqasbDLZC/UCdUgltmsRTL/44Vlx1TZAyGQ4HtKBX 95 gkXC5TBrh3CjTnqQl8Iw0FLTqasbDLZC/UCdUgltmsRTL/44Vlx1TZAyGQ4HtKBX
108 eiLgI+jE9pNSs1FpRg3RAkBAxoAqiYyT9W222119Qt6PdJDTNI/YxKpDfnwRZm84 96 eiLgI+jE9pNSs1FpRg3RAkBAxoAqiYyT9W222119Qt6PdJDTNI/YxKpDfnwRZm84
109 7x3V0FVuaN1GW9g4VMSsearlmgYizfRliaIrD+15Bg9Q 97 7x3V0FVuaN1GW9g4VMSsearlmgYizfRliaIrD+15Bg9Q
110 -----END RSA PRIVATE KEY-----""", 98 -----END RSA PRIVATE KEY-----"""
111 } 99 ca_cert_2 = """-----BEGIN CERTIFICATE-----
112 },
113
114
115 'cert2': {
116 'router': {
117 'ca_cert':
118 """-----BEGIN CERTIFICATE-----
119 MIIDNDCCAp2gAwIBAgIJAPCOBeiGsMUzMA0GCSqGSIb3DQEBBQUAMHAxCzAJBgNV 100 MIIDNDCCAp2gAwIBAgIJAPCOBeiGsMUzMA0GCSqGSIb3DQEBBQUAMHAxCzAJBgNV
120 BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBW 101 BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBW
121 aWV3MTQwMgYDVQQDEytjaHJvbWVsYWItd2lmaS10ZXN0YmVkMi1yb290Lm10di5n 102 aWV3MTQwMgYDVQQDEytjaHJvbWVsYWItd2lmaS10ZXN0YmVkMi1yb290Lm10di5n
122 b29nbGUuY29tMB4XDTEwMTAxMTIxMTM1OFoXDTIwMTAwODIxMTM1OFowcDELMAkG 103 b29nbGUuY29tMB4XDTEwMTAxMTIxMTM1OFoXDTIwMTAwODIxMTM1OFowcDELMAkG
123 A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWlu 104 A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWlu
124 IFZpZXcxNDAyBgNVBAMTK2Nocm9tZWxhYi13aWZpLXRlc3RiZWQyLXJvb3QubXR2 105 IFZpZXcxNDAyBgNVBAMTK2Nocm9tZWxhYi13aWZpLXRlc3RiZWQyLXJvb3QubXR2
125 Lmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALVcrIDKH5KL 106 Lmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALVcrIDKH5KL
126 anHb9qBxI78GA/CxyevvmkUL862xVwWFWedwCFxCYLUeNW5v1GLU1Nlq/8Yp1Kit 107 anHb9qBxI78GA/CxyevvmkUL862xVwWFWedwCFxCYLUeNW5v1GLU1Nlq/8Yp1Kit
127 pDMqkgHwhFZheT+cU2CXBHrjCp4csaaZSgEnvDjfgFHwwjf/ghtFgaF+0YgmNm2u 108 pDMqkgHwhFZheT+cU2CXBHrjCp4csaaZSgEnvDjfgFHwwjf/ghtFgaF+0YgmNm2u
128 lClPs/Ar4Ed/xonR3djtPuadqqodl6h3AgMBAAGjgdUwgdIwHQYDVR0OBBYEFMTK 109 lClPs/Ar4Ed/xonR3djtPuadqqodl6h3AgMBAAGjgdUwgdIwHQYDVR0OBBYEFMTK
129 tCdJf+j7+/ORDIDna9dgIV/SMIGiBgNVHSMEgZowgZeAFMTKtCdJf+j7+/ORDIDn 110 tCdJf+j7+/ORDIDna9dgIV/SMIGiBgNVHSMEgZowgZeAFMTKtCdJf+j7+/ORDIDn
130 a9dgIV/SoXSkcjBwMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEW 111 a9dgIV/SoXSkcjBwMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEW
131 MBQGA1UEBxMNTW91bnRhaW4gVmlldzE0MDIGA1UEAxMrY2hyb21lbGFiLXdpZmkt 112 MBQGA1UEBxMNTW91bnRhaW4gVmlldzE0MDIGA1UEAxMrY2hyb21lbGFiLXdpZmkt
132 dGVzdGJlZDItcm9vdC5tdHYuZ29vZ2xlLmNvbYIJAPCOBeiGsMUzMAwGA1UdEwQF 113 dGVzdGJlZDItcm9vdC5tdHYuZ29vZ2xlLmNvbYIJAPCOBeiGsMUzMAwGA1UdEwQF
133 MAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAOcPgWGaHVj/UZBFOV3QutkNb/tsvHFEX 114 MAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAOcPgWGaHVj/UZBFOV3QutkNb/tsvHFEX
134 xVn641V1gw52jVHvM+DFhXmoRjk9JTgT0g6ALj10ehw0zOI0jxV27x30sLRE+op7 115 xVn641V1gw52jVHvM+DFhXmoRjk9JTgT0g6ALj10ehw0zOI0jxV27x30sLRE+op7
135 t++4i/fcz1VvuwhFxDRXjoY8BO+1lYUOtsapRHHASZvU1Wf+AhO2N9xtvlckFxpS 116 t++4i/fcz1VvuwhFxDRXjoY8BO+1lYUOtsapRHHASZvU1Wf+AhO2N9xtvlckFxpS
136 wK+1l98+x4o= 117 wK+1l98+x4o=
137 -----END CERTIFICATE-----""", 118 -----END CERTIFICATE-----"""
138 'server_cert': 119 server_cert_2 = """-----BEGIN CERTIFICATE-----
139 """-----BEGIN CERTIFICATE-----
140 MIIDQDCCAqmgAwIBAgIDEAABMA0GCSqGSIb3DQEBBAUAMHAxCzAJBgNVBAYTAlVT 120 MIIDQDCCAqmgAwIBAgIDEAABMA0GCSqGSIb3DQEBBAUAMHAxCzAJBgNVBAYTAlVT
141 MRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MTQw 121 MRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MTQw
142 MgYDVQQDEytjaHJvbWVsYWItd2lmaS10ZXN0YmVkMi1yb290Lm10di5nb29nbGUu 122 MgYDVQQDEytjaHJvbWVsYWItd2lmaS10ZXN0YmVkMi1yb290Lm10di5nb29nbGUu
143 Y29tMB4XDTEwMTAxMTIxMTM1OFoXDTExMTAxMTIxMTM1OFowcjELMAkGA1UEBhMC 123 Y29tMB4XDTEwMTAxMTIxMTM1OFoXDTExMTAxMTIxMTM1OFowcjELMAkGA1UEBhMC
144 VVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcx 124 VVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcx
145 NjA0BgNVBAMTLWNocm9tZWxhYi13aWZpLXRlc3RiZWQyLXNlcnZlci5tdHYuZ29v 125 NjA0BgNVBAMTLWNocm9tZWxhYi13aWZpLXRlc3RiZWQyLXNlcnZlci5tdHYuZ29v
146 Z2xlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAzP5YdymNCXBlhlD5 126 Z2xlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAzP5YdymNCXBlhlD5
147 mK5Mm9H3pG+8fLx7oIKvKea3DZ8yjGd/QK8jMo4EWccFY+jI3pjwO7gmI6ntlU5y 127 mK5Mm9H3pG+8fLx7oIKvKea3DZ8yjGd/QK8jMo4EWccFY+jI3pjwO7gmI6ntlU5y
148 bCL+29GPbjRtoA9zvVmD01ggGEDW+rJVKIUALPlCT/85jcwDHSzqQt9Gpj576oP5 128 bCL+29GPbjRtoA9zvVmD01ggGEDW+rJVKIUALPlCT/85jcwDHSzqQt9Gpj576oP5
149 y/nv4iEkJzmryZv46pGxtnxW6aUCAwEAAaOB5TCB4jAJBgNVHRMEAjAAMBEGCWCG 129 y/nv4iEkJzmryZv46pGxtnxW6aUCAwEAAaOB5TCB4jAJBgNVHRMEAjAAMBEGCWCG
150 SAGG+EIBAQQEAwIGQDAdBgNVHQ4EFgQUJlQFb95atdqXA/Wtf5zd6PWA7AgwgaIG 130 SAGG+EIBAQQEAwIGQDAdBgNVHQ4EFgQUJlQFb95atdqXA/Wtf5zd6PWA7AgwgaIG
151 A1UdIwSBmjCBl4AUxMq0J0l/6Pv785EMgOdr12AhX9KhdKRyMHAxCzAJBgNVBAYT 131 A1UdIwSBmjCBl4AUxMq0J0l/6Pv785EMgOdr12AhX9KhdKRyMHAxCzAJBgNVBAYT
152 AlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3 132 AlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3
153 MTQwMgYDVQQDEytjaHJvbWVsYWItd2lmaS10ZXN0YmVkMi1yb290Lm10di5nb29n 133 MTQwMgYDVQQDEytjaHJvbWVsYWItd2lmaS10ZXN0YmVkMi1yb290Lm10di5nb29n
154 bGUuY29tggkA8I4F6IawxTMwDQYJKoZIhvcNAQEEBQADgYEAUQzJuYutS5Zi9DuI 134 bGUuY29tggkA8I4F6IawxTMwDQYJKoZIhvcNAQEEBQADgYEAUQzJuYutS5Zi9DuI
155 CKVAyM7pR0poJkK33xwXT2Z3gMpQcNXO66omPdsoXi6aYt2Kmp3XJSAE2Ev+0EKQ 135 CKVAyM7pR0poJkK33xwXT2Z3gMpQcNXO66omPdsoXi6aYt2Kmp3XJSAE2Ev+0EKQ
156 Lvu56jV19Sw4MBuF94Gd0Ts3Ps8/FB8yyQQ3f2qGWAYg4S37HsK+NIz5fsgzvW5X 136 Lvu56jV19Sw4MBuF94Gd0Ts3Ps8/FB8yyQQ3f2qGWAYg4S37HsK+NIz5fsgzvW5X
157 tctFQRntW1evuf4y+hWaBtmpF8M= 137 tctFQRntW1evuf4y+hWaBtmpF8M=
158 -----END CERTIFICATE-----""", 138 -----END CERTIFICATE-----"""
159 'private_key': 139 server_private_key_2 = """-----BEGIN RSA PRIVATE KEY-----
160 """-----BEGIN RSA PRIVATE KEY-----
161 MIICXQIBAAKBgQDM/lh3KY0JcGWGUPmYrkyb0fekb7x8vHuggq8p5rcNnzKMZ39A 140 MIICXQIBAAKBgQDM/lh3KY0JcGWGUPmYrkyb0fekb7x8vHuggq8p5rcNnzKMZ39A
162 ryMyjgRZxwVj6MjemPA7uCYjqe2VTnJsIv7b0Y9uNG2gD3O9WYPTWCAYQNb6slUo 141 ryMyjgRZxwVj6MjemPA7uCYjqe2VTnJsIv7b0Y9uNG2gD3O9WYPTWCAYQNb6slUo
163 hQAs+UJP/zmNzAMdLOpC30amPnvqg/nL+e/iISQnOavJm/jqkbG2fFbppQIDAQAB 142 hQAs+UJP/zmNzAMdLOpC30amPnvqg/nL+e/iISQnOavJm/jqkbG2fFbppQIDAQAB
164 AoGAN7x0Gzo98bIQuJttsdi6VaeaOKh0zEmHJ5ZAwBjN7rM5UDmXvOOho04/2pUl 143 AoGAN7x0Gzo98bIQuJttsdi6VaeaOKh0zEmHJ5ZAwBjN7rM5UDmXvOOho04/2pUl
165 XwvdCcD1mJcyL4I1aeIhdEtzlZ5NOI1Y503Mrog6Fou6ui7WqB99msIZIxvbfLvG 144 XwvdCcD1mJcyL4I1aeIhdEtzlZ5NOI1Y503Mrog6Fou6ui7WqB99msIZIxvbfLvG
166 mDhxd7HU+29MIZZfxdrvIgYIoZKY7V/s5hioX+7NSQsMfUUCQQDvPoEm4W4TyU9F 145 mDhxd7HU+29MIZZfxdrvIgYIoZKY7V/s5hioX+7NSQsMfUUCQQDvPoEm4W4TyU9F
167 vMinZwIuCmk/FnHeSarZWtqxkSi5X/dQr7L8ko30lpMKjR2VljTYonHmBLPETjPU 146 vMinZwIuCmk/FnHeSarZWtqxkSi5X/dQr7L8ko30lpMKjR2VljTYonHmBLPETjPU
168 FaDqLe/vAkEA21m/zdbVz4gPY0JtFyOhfnchSY6H/hQITz+IKbyCG3ovvYDIV7ZH 147 FaDqLe/vAkEA21m/zdbVz4gPY0JtFyOhfnchSY6H/hQITz+IKbyCG3ovvYDIV7ZH
169 v7nsGhZd5J78yQJvKXfY63FpNynBos2rqwJBANZvaqljwxs/A6uZEyxgeqaztDPU 148 v7nsGhZd5J78yQJvKXfY63FpNynBos2rqwJBANZvaqljwxs/A6uZEyxgeqaztDPU
170 tUktNFJPSdeAKUVGS9DpOn+CCHSjBbaeV1b9Y+6MY5RswIgCJBhDLpDXjccCQD2f 149 tUktNFJPSdeAKUVGS9DpOn+CCHSjBbaeV1b9Y+6MY5RswIgCJBhDLpDXjccCQD2f
171 3U8LCE6hvxD33IYfsINDHMr5jCNJpXv+MVboavUlQrxOrfpWb5nhtf8uQXq1X/dp 150 3U8LCE6hvxD33IYfsINDHMr5jCNJpXv+MVboavUlQrxOrfpWb5nhtf8uQXq1X/dp
172 A6n2za530kN5K7l9ZrkCQQDkRew1VFDPg6baShXwEA327XH/0a/s3pSg3WNXaJ22 151 A6n2za530kN5K7l9ZrkCQQDkRew1VFDPg6baShXwEA327XH/0a/s3pSg3WNXaJ22
173 KKkkmvz0gVdObfCRIDf+Tw37tQ00n2hUUefuCnTnNFG/ 152 KKkkmvz0gVdObfCRIDf+Tw37tQ00n2hUUefuCnTnNFG/
174 -----END RSA PRIVATE KEY-----""", 153 -----END RSA PRIVATE KEY-----"""
175 'eap_user_file': '* TLS' 154 client_cert_2 = """-----BEGIN CERTIFICATE-----
176 },
177 'client': {
178 'client_cert':
179 """-----BEGIN CERTIFICATE-----
180 MIIDLTCCApagAwIBAgIDEAACMA0GCSqGSIb3DQEBBAUAMHAxCzAJBgNVBAYTAlVT 155 MIIDLTCCApagAwIBAgIDEAACMA0GCSqGSIb3DQEBBAUAMHAxCzAJBgNVBAYTAlVT
181 MRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MTQw 156 MRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MTQw
182 MgYDVQQDEytjaHJvbWVsYWItd2lmaS10ZXN0YmVkMi1yb290Lm10di5nb29nbGUu 157 MgYDVQQDEytjaHJvbWVsYWItd2lmaS10ZXN0YmVkMi1yb290Lm10di5nb29nbGUu
183 Y29tMB4XDTEwMTAxMTIxMTQwMFoXDTExMTAxMTIxMTQwMFowcjELMAkGA1UEBhMC 158 Y29tMB4XDTEwMTAxMTIxMTQwMFoXDTExMTAxMTIxMTQwMFowcjELMAkGA1UEBhMC
184 VVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcx 159 VVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcx
185 NjA0BgNVBAMTLWNocm9tZWxhYi13aWZpLXRlc3RiZWQyLWNsaWVudC5tdHYuZ29v 160 NjA0BgNVBAMTLWNocm9tZWxhYi13aWZpLXRlc3RiZWQyLWNsaWVudC5tdHYuZ29v
186 Z2xlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAum3Ffn32tAAotbva 161 Z2xlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAum3Ffn32tAAotbva
187 R1yHQAb/eJ0agM7gkFD7ykTMxQgtvPaNJd1JOIrfzJkUJlkIO8Kw49L7J+yEwl/H 162 R1yHQAb/eJ0agM7gkFD7ykTMxQgtvPaNJd1JOIrfzJkUJlkIO8Kw49L7J+yEwl/H
188 e4krWBU0H5AS/KgnFs37sUNbQSOuT2GxcJy/5ce3yTvKDx+bX8YBnqVgF/J4ftZg 163 e4krWBU0H5AS/KgnFs37sUNbQSOuT2GxcJy/5ce3yTvKDx+bX8YBnqVgF/J4ftZg
189 k0Gw5bl8csL7ayMEPjQ67l6DmAECAwEAAaOB0jCBzzAJBgNVHRMEAjAAMB0GA1Ud 164 k0Gw5bl8csL7ayMEPjQ67l6DmAECAwEAAaOB0jCBzzAJBgNVHRMEAjAAMB0GA1Ud
190 DgQWBBRVbfe54dvOd9N5S+z4QQBvxuwiHzCBogYDVR0jBIGaMIGXgBTEyrQnSX/o 165 DgQWBBRVbfe54dvOd9N5S+z4QQBvxuwiHzCBogYDVR0jBIGaMIGXgBTEyrQnSX/o
191 +/vzkQyA52vXYCFf0qF0pHIwcDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlm 166 +/vzkQyA52vXYCFf0qF0pHIwcDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlm
192 b3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxNDAyBgNVBAMTK2Nocm9tZWxh 167 b3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxNDAyBgNVBAMTK2Nocm9tZWxh
193 Yi13aWZpLXRlc3RiZWQyLXJvb3QubXR2Lmdvb2dsZS5jb22CCQDwjgXohrDFMzAN 168 Yi13aWZpLXRlc3RiZWQyLXJvb3QubXR2Lmdvb2dsZS5jb22CCQDwjgXohrDFMzAN
194 BgkqhkiG9w0BAQQFAAOBgQAG1VF/2QAD9bLOcRm8lpJflLDVJa9mv+p1p/c3liul 169 BgkqhkiG9w0BAQQFAAOBgQAG1VF/2QAD9bLOcRm8lpJflLDVJa9mv+p1p/c3liul
195 4djWyL2oQt4mWXuP8DNAXnuJVvSCOJFcSDlDZ3HTLYth8WUgkMwAdXO/mWpF74OS 170 4djWyL2oQt4mWXuP8DNAXnuJVvSCOJFcSDlDZ3HTLYth8WUgkMwAdXO/mWpF74OS
196 8HikHuSK5oymkZB/AiQlnJlOY9nSLrEYQVLcvCfiJhhu+ziyDQlVawPIQqkBtX5y 171 8HikHuSK5oymkZB/AiQlnJlOY9nSLrEYQVLcvCfiJhhu+ziyDQlVawPIQqkBtX5y
197 qA== 172 qA==
198 -----END CERTIFICATE-----""", 173 -----END CERTIFICATE-----"""
199 'private_key': 174 client_private_key_2 = """-----BEGIN RSA PRIVATE KEY-----
200 """-----BEGIN RSA PRIVATE KEY-----
201 MIICXAIBAAKBgQC6bcV+ffa0ACi1u9pHXIdABv94nRqAzuCQUPvKRMzFCC289o0l 175 MIICXAIBAAKBgQC6bcV+ffa0ACi1u9pHXIdABv94nRqAzuCQUPvKRMzFCC289o0l
202 3Uk4it/MmRQmWQg7wrDj0vsn7ITCX8d7iStYFTQfkBL8qCcWzfuxQ1tBI65PYbFw 176 3Uk4it/MmRQmWQg7wrDj0vsn7ITCX8d7iStYFTQfkBL8qCcWzfuxQ1tBI65PYbFw
203 nL/lx7fJO8oPH5tfxgGepWAX8nh+1mCTQbDluXxywvtrIwQ+NDruXoOYAQIDAQAB 177 nL/lx7fJO8oPH5tfxgGepWAX8nh+1mCTQbDluXxywvtrIwQ+NDruXoOYAQIDAQAB
204 AoGAWzjDXnW8da9uPB7DXA/GjmneL+KPyV9xOqylx/+KQw8RclkiD9kLrwMlJzPw 178 AoGAWzjDXnW8da9uPB7DXA/GjmneL+KPyV9xOqylx/+KQw8RclkiD9kLrwMlJzPw
205 TCNciAFoFNJz2sE85O+A6M3hys2dlXn/JR5I1IcVjkhOe6zaFu7btcRphbX/YqKi 179 TCNciAFoFNJz2sE85O+A6M3hys2dlXn/JR5I1IcVjkhOe6zaFu7btcRphbX/YqKi
206 +5oZj1rxBTEqhBXAKwIDkdF55A2a2Huq0eHIB/NA50Vw5hECQQDqqR4Iz+dGGufU 180 +5oZj1rxBTEqhBXAKwIDkdF55A2a2Huq0eHIB/NA50Vw5hECQQDqqR4Iz+dGGufU
207 FywMoUgHjHW3iDjWgr+TF279k2BY5Fo03IDMIHFaNRT40hfFJFZh3t3hGe/RziJP 181 FywMoUgHjHW3iDjWgr+TF279k2BY5Fo03IDMIHFaNRT40hfFJFZh3t3hGe/RziJP
208 BRgnKikXAkEAy2HSHMuZuvaLAVkgKmUAdafnMkRCaCP4QlEHK98jix7KIyLApzaa 182 BRgnKikXAkEAy2HSHMuZuvaLAVkgKmUAdafnMkRCaCP4QlEHK98jix7KIyLApzaa
209 njuNW0jnUCI+4JTQxFlf4fn3h8Ugyn3GpwJBAIVb2TrO1LPNxKSPCrSez+2iUKAe 183 njuNW0jnUCI+4JTQxFlf4fn3h8Ugyn3GpwJBAIVb2TrO1LPNxKSPCrSez+2iUKAe
210 JZcbNT6l2aj4oY/DLtTN39CiO2k1s5Z455NdRE5YtyYfdGB60pqv3Xschb8CQCfM 184 JZcbNT6l2aj4oY/DLtTN39CiO2k1s5Z455NdRE5YtyYfdGB60pqv3Xschb8CQCfM
211 z8pUyZO91XwBDftd4pYjsmmy0+//QgDwTF/4fcMm1lXD4kGWvPFEJCh9/s4+tWFL 185 z8pUyZO91XwBDftd4pYjsmmy0+//QgDwTF/4fcMm1lXD4kGWvPFEJCh9/s4+tWFL
212 ngMenlXhjeAi4oTd0jcCQBqIFwSDElqUqeqkMtlw14wEJH6XIk+0IVQndBEyb+JN 186 ngMenlXhjeAi4oTd0jcCQBqIFwSDElqUqeqkMtlw14wEJH6XIk+0IVQndBEyb+JN
213 Nl40AoKFULXtQNMl7pT8uMj4ScYvRHOKg4RjwO7J+qs= 187 Nl40AoKFULXtQNMl7pT8uMj4ScYvRHOKg4RjwO7J+qs=
214 -----END RSA PRIVATE KEY-----""", 188 -----END RSA PRIVATE KEY-----"""
215 } 189
216 } 190 # A profile is a list of configuration settings for the authenticator
191 # (router) and supplicant (client) that work together. Profiles are
192 # configured separately for the router and client, however, so they
193 # may be mixed and matched for testing error and failure handling.
194 profile_info = {
195 'tls1' : {
196 'router' : {
197 'ca_cert' : ca_cert_1,
198 'server_cert' : server_cert_1,
199 'private_key' : server_private_key_1,
200 'eap_user_file' : '* TLS'
201 },
Sam Leffler 2011/01/06 04:26:08 I suspect our style guide says you've got this ind
202 'client' : {
203 'client_cert' : client_cert_1,
204 'private_key' : client_private_key_1
205 }
206 },
207 'tls2' : {
208 'router' : {
209 'ca_cert' : ca_cert_2,
210 'server_cert' : server_cert_2,
211 'private_key' : server_private_key_2,
212 'eap_user_file' : '* TLS'
213 },
214 'client' : {
215 'client_cert' : client_cert_2,
216 'private_key' : client_private_key_2
217 }
218 },
217 } 219 }
218 220
219 def insert_conf_file(host, filename, contents): 221 def insert_conf_file(host, filename, contents):
220 """ 222 """
221 If config files are too big, the "host.run()" never returns. 223 If config files are too big, the "host.run()" never returns.
222 As a workaround, break the file up into lines and append the 224 As a workaround, break the file up into lines and append the
223 file piece by piece 225 file piece by piece
224 """ 226 """
225 host.run('rm -f %s >/dev/null 2>&1' % filename, ignore_status=True) 227 host.run('rm -f %s >/dev/null 2>&1' % filename, ignore_status=True)
226 content_lines = contents.splitlines() 228 content_lines = contents.splitlines()
227 while content_lines: 229 while content_lines:
228 buflist = [] 230 buflist = []
229 buflen = 0 231 buflen = 0
230 while content_lines and buflen + len(content_lines[0]) < 200: 232 while content_lines and buflen + len(content_lines[0]) < 200:
231 line = content_lines.pop(0) 233 line = content_lines.pop(0)
232 buflen += len(line) + 1 234 buflen += len(line) + 1
233 buflist.append(line) 235 buflist.append(line)
234 236
235 if not buflist: 237 if not buflist:
236 raise error.TestFail('Cert profile: line too long: %s' % 238 raise error.TestFail('EAP profile: line too long: %s' %
237 content_lines[0]) 239 content_lines[0])
238 host.run('cat <<EOF >>%s\n%s\nEOF\n' % 240 host.run('cat <<EOF >>%s\n%s\nEOF\n' %
239 (filename, '\n'.join(buflist))) 241 (filename, '\n'.join(buflist)))
240 242
241 def router_config(router, cert): 243 def router_config(router, profile):
242 """ 244 """
243 Configure a router, and return the added config parameters 245 Configure a router, and return the added config parameters
244 """ 246 """
245 conf = {} 247 conf = {}
246 # Make sure time-of-day is correct on router 248 # Make sure time-of-day is correct on router
247 router.run('date -us %s' % 249 router.run('date -us %s' %
248 datetime.datetime.utcnow().strftime('%Y%m%d%H%M.%S')) 250 datetime.datetime.utcnow().strftime('%Y%m%d%H%M.%S'))
249 251
250 if cert not in cert_info: 252 if profile not in profile_info:
251 raise error.TestFail('Cert profile %s not in the configuration' % cert) 253 raise error.TestFail('EAP profile %s not in the configuration' % cert)
Sam Leffler 2011/01/06 04:26:08 s/cert/profile/
252 254
253 for k, v in cert_info[cert]['router'].iteritems(): 255 for k, v in profile_info[profile]['router'].iteritems():
254 filename = "/tmp/hostap_%s" % k 256 filename = "/tmp/hostap_%s" % k
255 insert_conf_file(router, filename, v) 257 insert_conf_file(router, filename, v)
256 conf[k] = filename 258 conf[k] = filename
257 259
258 conf['eap_server'] = '1' 260 conf['eap_server'] = '1'
259 return conf 261 return conf
260 262
261 def client_config(client, cert, ca_auth=None): 263
264 def client_config(client, profile, ca_auth=None):
262 """ 265 """
263 Configure a client, and return the added config parameters 266 Configure a client, and return the added config parameters
264 """ 267 """
265 if cert not in cert_info: 268 if profile not in profile_info:
266 raise error.TestFail("Cert profile %s not in the configuration" % cert) 269 raise error.TestFail("EAP profile %s not in the configuration" % cert)
Sam Leffler 2011/01/06 04:26:08 s/cert/profile/
267 270
268 client_pkg = '/tmp/pkg-client.pem' 271 info = profile_info[profile]['client']
269 info = cert_info[cert]['client'] 272 # args: identity, certpath, authoritypath, passphrase
270 insert_conf_file(client, client_pkg, 273 args = []
271 '\n'.join([info['client_cert'], info['private_key']])) 274 if 'identity' in info:
272 args = ['chromeos', client_pkg] 275 args.append(info['identity'])
276 else:
277 args.append('chromeos')
278
279 if 'client_cert' in info and 'private_key' in info:
280 client_pkg = '/tmp/pkg-client.pem'
281 insert_conf_file(client, client_pkg,
282 '\n'.join([info['client_cert'], info['private_key']]))
283 args.append(client_pkg)
284 else:
285 args.append('')
286
273 if ca_auth: 287 if ca_auth:
274 ca_cert = '/tmp/ca-cert.pem' 288 ca_cert = '/tmp/ca-cert.pem'
275 cert_src = cert_info[ca_auth]['router']['ca_cert'] 289 cert_src = profile_info[ca_auth]['router']['ca_cert']
276 insert_conf_file(client, ca_cert, cert_src) 290 insert_conf_file(client, ca_cert, cert_src)
277 args.append(ca_cert) 291 args.append(ca_cert)
292 else:
293 args.append('')
294
295 if 'password' in info:
296 args.append(info['password'])
Paul Stewart 2011/01/05 22:28:29 Wouldn't it make more sense to send the password i
297
278 return { 'psk': ':'.join(args) } 298 return { 'psk': ':'.join(args) }
OLDNEW
« no previous file with comments | « no previous file | server/site_linux_router.py » ('j') | server/site_wlan_connect.py » ('J')

Powered by Google App Engine
This is Rietveld 408576698