Chromium Code Reviews| OLD | NEW |
|---|---|
| 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) } |
| OLD | NEW |