diff options
author | pneubeck@chromium.org <pneubeck@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-12-17 15:02:20 +0000 |
---|---|---|
committer | pneubeck@chromium.org <pneubeck@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-12-17 15:02:20 +0000 |
commit | 0f2927b0b9bd0e5e01632564108a8c718e69da29 (patch) | |
tree | 1a62947d110df0c69257c0cf181dcd63cd44e682 | |
parent | 7e740a05dfb9cf0ebe579c2d4b8cf1b054040cf1 (diff) | |
download | chromium_src-0f2927b0b9bd0e5e01632564108a8c718e69da29.zip chromium_src-0f2927b0b9bd0e5e01632564108a8c718e69da29.tar.gz chromium_src-0f2927b0b9bd0e5e01632564108a8c718e69da29.tar.bz2 |
Adding more ONC validation tests.
- A typical configuration from real world.
- A configuration generated from CPanel.
BUG=162804
TBR=stevenjb@chromium.org
Review URL: https://chromiumcodereview.appspot.com/11488008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173460 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chromeos/network/onc/onc_validator_unittest.cc | 19 | ||||
-rw-r--r-- | chromeos/test/data/network/invalid_settings_with_repairs.json | 17 | ||||
-rw-r--r-- | chromeos/test/data/network/managed_toplevel1.onc (renamed from chromeos/test/data/network/managed_toplevel.onc) | 0 | ||||
-rw-r--r-- | chromeos/test/data/network/managed_toplevel2.onc | 90 | ||||
-rw-r--r-- | chromeos/test/data/network/managed_toplevel_cpanel.onc | 40 | ||||
-rw-r--r-- | chromeos/test/data/network/shill_openvpn.json | 10 | ||||
-rw-r--r-- | chromeos/test/data/network/valid_openvpn.onc | 10 |
7 files changed, 175 insertions, 11 deletions
diff --git a/chromeos/network/onc/onc_validator_unittest.cc b/chromeos/network/onc/onc_validator_unittest.cc index 06f35dc..105e9a0 100644 --- a/chromeos/network/onc/onc_validator_unittest.cc +++ b/chromeos/network/onc/onc_validator_unittest.cc @@ -127,7 +127,14 @@ TEST_P(ONCValidatorValidTest, LiberalValidationValid) { INSTANTIATE_TEST_CASE_P( ONCValidatorValidTest, ONCValidatorValidTest, - ::testing::Values(OncParams("managed_toplevel.onc", + ::testing::Values(OncParams("managed_toplevel1.onc", + &kToplevelConfigurationSignature, + true), + OncParams("managed_toplevel2.onc", + &kToplevelConfigurationSignature, + true), + // Test a configuration generated by CPanel. + OncParams("managed_toplevel_cpanel.onc", &kToplevelConfigurationSignature, true), OncParams("encrypted.onc", @@ -276,6 +283,16 @@ INSTANTIATE_TEST_CASE_P( false), RepairParams("network-repaired", "network-repaired")))); +// Strict and liberal validator both repair, but with different results. +INSTANTIATE_TEST_CASE_P( + StrictAndLiberalRepairDifferently, + ONCValidatorTestRepairable, + ::testing::Values( + std::make_pair(OncParams("toplevel-with-nested-warning", + &kToplevelConfigurationSignature, + false), + RepairParams("toplevel-empty", "toplevel-repaired")))); + // Strict and liberal validator return both INVALID. INSTANTIATE_TEST_CASE_P( StrictAndLiberalInvalid, diff --git a/chromeos/test/data/network/invalid_settings_with_repairs.json b/chromeos/test/data/network/invalid_settings_with_repairs.json index ec43242..e1ab1d4 100644 --- a/chromeos/test/data/network/invalid_settings_with_repairs.json +++ b/chromeos/test/data/network/invalid_settings_with_repairs.json @@ -135,6 +135,10 @@ "Authentication": "None" } }, + "toplevel-empty": { + "Type": "UnencryptedConfiguration", + "NetworkConfigurations": [ ] + }, "toplevel-repaired": { "Type": "UnencryptedConfiguration", "NetworkConfigurations": @@ -147,6 +151,19 @@ } ] }, + "toplevel-with-nested-warning": { + "Type": "UnencryptedConfiguration", + "NetworkConfigurations": + [ { "GUID": "guid", + "Type": "Ethernet", + "unknown-field": "abc", + "Name": "eth0", + "Ethernet": { + "Authentication": "None" + } + } + ] + }, "toplevel-invalid-network": { "Type": "UnencryptedConfiguration", "NetworkConfigurations": diff --git a/chromeos/test/data/network/managed_toplevel.onc b/chromeos/test/data/network/managed_toplevel1.onc index a8feabd..a8feabd 100644 --- a/chromeos/test/data/network/managed_toplevel.onc +++ b/chromeos/test/data/network/managed_toplevel1.onc diff --git a/chromeos/test/data/network/managed_toplevel2.onc b/chromeos/test/data/network/managed_toplevel2.onc new file mode 100644 index 0000000..60690bb --- /dev/null +++ b/chromeos/test/data/network/managed_toplevel2.onc @@ -0,0 +1,90 @@ +{ + "NetworkConfigurations": [ + { + "GUID": "{77db0089-0bc8-4358-929c-123xcv}", + "Type": "WiFi", + "Name": "SomeWifi-XY", + "WiFi": { + "SSID": "SomeWifi-XY", + "Security": "WPA-EAP", + "Recommended": [ "AutoConnect" ], + "EAP": { + "Outer": "EAP-TLS", + "Identity": "${LOGIN_ID}@my.domain.com", + "UseSystemCAs": true, + "ClientCertType": "Pattern", + "ClientCertPattern": { + "IssuerCARef": [ + "{58ac1967-a0e7-49e9-be68-123abc}", + "{42cb13cd-140c-4941-9fb6-456def}" + ], + "EnrollmentURI": [ "chrome-extension://delkjfjibodjclmdijflfnimdmgdagfk/generate-cert.html" ] + }, + "Recommended": [ "Identity" ], + "SaveCredentials": true + } + }, + "ProxySettings": { + "Type": "PAC", + "PAC": "https://proxycfg.my.domain.com/proxy.dat" + } + }, + { + "GUID": "{a3860e83-f03d-4cb1-bafa-789oij}", + "Type": "VPN", + "Name": "SomeVPN-XZ", + "VPN": { + "Host": "vpn.my.domain.com", + "Type": "OpenVPN", + "OpenVPN": { + "AuthRetry": "interact", + "CompLZO": "true", + "KeyDirection": "1", + "Port": 543, + "Proto": "udp", + "PushPeerInfo": true, + "Recommended" : [ "Username", "Password" ], + "RemoteCertEKU": "TLS Web Server Authentication", + "RemoteCertKU": [ + "e0" + ], + "RemoteCertTLS": "server", + "RenegSec": 0, + "ServerPollTimeout": 13, + "StaticChallenge": "Please enter token", + "TLSAuthContents": "-----BEGIN OpenVPN Static key V1-----\n83f8e7ccd99be189b4663e18615f9166\nd885cdea6c8accb0ebf5be304f0b8081\n5404f2a6574e029815d7a2fb65b83d0c\n676850714c6a56b23415a78e06aad6b1\n34900dd512049598382039e4816cb5ff\n1848532b71af47578c9b4a14b5bca49f\n99e0ae4dae2f4e5eadfea374aeb8fb1e\na6fdf02adc73ea778dfd43d64bf7bc75\n7779d629498f8c2fbfd32812bfdf6df7\n8cebafafef3e5496cb13202274f2768a\n1959bc53d67a70945c4c8c6f34b63327\nfb60dc84990ffec1243461e0b6310f61\ne90aee1f11fb6292d6f5fcd7cd508aab\n50d80f9963589c148cb4b933ec86128d\ned77d3fad6005b62f36369e2319f52bd\n09c6d2e52cce2362a05009dc29b6b39a\n-----END OpenVPN Static key V1-----\n", + "TLSRemote": "my.domain.com", + "SaveCredentials": false, + "ServerCARef": "{14ff4d51-64c1-4c86-a622-054dxyz}", + "Username": "${LOGIN_ID}", + "ClientCertType": "Pattern", + "ClientCertPattern": { + "IssuerCARef": [ + "{58ac1967-a0e7-49e9-be68-eb44b8827bcc}", + "{42cb13cd-140c-4941-9fb6-0824ea2fde17}" + ], + "EnrollmentURI": [ "chrome-extension://deicdjjibodjclmdijflfnimdmgdagfk/keygen-cert.html" ] + } + } + }, + "ProxySettings": { + "Type": "PAC", + "PAC": "http://proxycfg.my.domain/proxy.dat" + } + } + ], + "Certificates": [ + { + "Trust": [], + "GUID": "{58ac1967-a0e7-49e9-be68-123abc}", + "Type": "Authority", + "X509": "MIIDojCCAwugAwIBAgIJAKGvi5ZgEWDVMA0GCSqGSIb3DQEBBAUAMIGTMRUwEwYDVQQKEwxHb29nbGUsIEluYy4xETAPBgNVBAsTCENocm9tZU9TMSIwIAYJKoZIhvcNAQkBFhNnc3BlbmNlckBnb29nbGUuY29tMRowGAYDVQQHExFNb3VudGFpbiBWaWV3LCBDQTELMAkGA1UECBMCQ0ExCzAJBgNVBAYTAlVTMQ0wCwYDVQQDEwRsbWFvMB4XDTExMDMxNjIzNDcxMFoXDTEyMDMxNTIzNDcxMFowgZMxFTATBgNVBAoTDEdvb2dsZSwgSW5jLjERMA8GA1UECxMIQ2hyb21lT1MxIjAgBgkqhkiG9w0BCQEWE2dzcGVuY2VyQGdvb2dsZS5jb20xGjAYBgNVBAcTEU1vdW50YWluIFZpZXcsIENBMQswCQYDVQQIEwJDQTELMAkGA1UEBhMCVVMxDTALBgNVBAMTBGxtYW8wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMDX6BQz2JUzIAVjetiXxDznd2wdqVqVHfNkbSRW+xBywgqUaIXmFEGUol7VzPfmeFV8o8ok/eFlQB0h6ycqgwwMd0KjtJs2ys/k0F5GuN0G7fsgr+NRnhVgxj21yF6gYTN/8a9kscla/svdmp8ekexbALFnghbLBx3CgcqUxT+tAgMBAAGjgfswgfgwDAYDVR0TBAUwAwEB/zAdBgNVHQ4EFgQUbYygbSkl4kpjCNuxoezFGupA97UwgcgGA1UdIwSBwDCBvYAUbYygbSkl4kpjCNuxoezFGupA97WhgZmkgZYwgZMxFTATBgNVBAoTDEdvb2dsZSwgSW5jLjERMA8GA1UECxMIQ2hyb21lT1MxIjAgBgkqhkiG9w0BCQEWE2dzcGVuY2VyQGdvb2dsZS5jb20xGjAYBgNVBAcTEU1vdW50YWluIFZpZXcsIENBMQswCQYDVQQIEwJDQTELMAkGA1UEBhMCVVMxDTALBgNVBAMTBGxtYW+CCQChr4uWYBFg1TANBgkqhkiG9w0BAQQFAAOBgQCDq9wiQ4uVuf1CQU3sXfXCy1yqi5m8AsO9FxHvah5/SVFNwKllqTfedpCaWEswJ55YAojW9e+pY2Fh3Fo/Y9YkF88KCtLuBjjqDKCRLxF4LycjHODKyQQ7mN/t5AtP9yKOsNvWF+M4IfReg51kohau6FauQx87by5NIRPdkNPvkQ==" + }, + { + "Trust": [], + "GUID": "{42cb13cd-140c-4941-9fb6-456def}", + "Type": "Authority", + "X509": "MIICijCCAfOgAwIBAgIJAPYTFSuNYH3DMA0GCSqGSIb3DQEBBQUAMF0xCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQxFjAUBgNVBAMMDW15LmRvbWFpbi5jb20wIBcNMTIxMTI5MTIxOTMwWhgPMjExMjExMDUxMjE5MzBaMF0xCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQxFjAUBgNVBAMMDW15LmRvbWFpbi5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMGU4ZFREFcUB5M6CNmgR6m2HHI6qL8dLBFH3jVe+FIUWyrF3UtBQrhPtD7tC+3qsoRHDquHo3oVedOG2B22hQ3TUTvkO2YmL0pv9RsaRRbhYD8YqqpmWPq94nZNF13y007LwJLuwLU/8kikrNgmnT7meWVSAcLYLsbgjYaZmn2XAgMBAAGjUDBOMB0GA1UdDgQWBBTX5f2mCM32pbNdXrsKmRHeZlcxOjAfBgNVHSMEGDAWgBTX5f2mCM32pbNdXrsKmRHeZlcxOjAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4GBAGUj0fZr2UzZjacnGhHf9x9FeQt8VALyASCw4JQyxbhB8YHjKS+IF80X8OkDiJrjkM6IOBTtyG0n0ozEgTL9m5NqWuAB2+SPkRpDgabI6mIUR/l1tkQarKCdKzYQ3+oggkiHiHXl2uC4sutgsyt54KQaQxx04+9z2WRt9yI6I1NW" + } + ] +} diff --git a/chromeos/test/data/network/managed_toplevel_cpanel.onc b/chromeos/test/data/network/managed_toplevel_cpanel.onc new file mode 100644 index 0000000..bc52717 --- /dev/null +++ b/chromeos/test/data/network/managed_toplevel_cpanel.onc @@ -0,0 +1,40 @@ +{ + "Certificates": [ { + "GUID": "{126ea985-9ece-4250-8a32-123abc}", + "Type": "Authority", + "X509": "-----BEGIN CERTIFICATE-----\nMIIDojCCAwugAwIBAgIJAKGvi5ZgEWDVMA0GCSqGSIb3DQEBBAUAMIGTMRUwEwYDVQQKEwxHb29nbGUsIEluYy4xETAPBgNVBAsTCENocm9tZU9TMSIwIAYJKoZIhvcNAQkBFhNnc3BlbmNlckBnb29nbGUuY29tMRowGAYDVQQHExFNb3VudGFpbiBWaWV3LCBDQTELMAkGA1UECBMCQ0ExCzAJBgNVBAYTAlVTMQ0wCwYDVQQDEwRsbWFvMB4XDTExMDMxNjIzNDcxMFoXDTEyMDMxNTIzNDcxMFowgZMxFTATBgNVBAoTDEdvb2dsZSwgSW5jLjERMA8GA1UECxMIQ2hyb21lT1MxIjAgBgkqhkiG9w0BCQEWE2dzcGVuY2VyQGdvb2dsZS5jb20xGjAYBgNVBAcTEU1vdW50YWluIFZpZXcsIENBMQswCQYDVQQIEwJDQTELMAkGA1UEBhMCVVMxDTALBgNVBAMTBGxtYW8wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMDX6BQz2JUzIAVjetiXxDznd2wdqVqVHfNkbSRW+xBywgqUaIXmFEGUol7VzPfmeFV8o8ok/eFlQB0h6ycqgwwMd0KjtJs2ys/k0F5GuN0G7fsgr+NRnhVgxj21yF6gYTN/8a9kscla/svdmp8ekexbALFnghbLBx3CgcqUxT+tAgMBAAGjgfswgfgwDAYDVR0TBAUwAwEB/zAdBgNVHQ4EFgQUbYygbSkl4kpjCNuxoezFGupA97UwgcgGA1UdIwSBwDCBvYAUbYygbSkl4kpjCNuxoezFGupA97WhgZmkgZYwgZMxFTATBgNVBAoTDEdvb2dsZSwgSW5jLjERMA8GA1UECxMIQ2hyb21lT1MxIjAgBgkqhkiG9w0BCQEWE2dzcGVuY2VyQGdvb2dsZS5jb20xGjAYBgNVBAcTEU1vdW50YWluIFZpZXcsIENBMQswCQYDVQQIEwJDQTELMAkGA1UEBhMCVVMxDTALBgNVBAMTBGxtYW+CCQChr4uWYBFg1TANBgkqhkiG9w0BAQQFAAOBgQCDq9wiQ4uVuf1CQU3sXfXCy1yqi5m8AsO9FxHvah5/SVFNwKllqTfedpCaWEswJ55YAojW9e+pY2Fh3Fo/Y9YkF88KCtLuBjjqDKCRLxF4LycjHODKyQQ7mN/t5AtP9yKOsNvWF+M4IfReg51kohau6FauQx87by5NIRPdkNPvkQ==\n-----END CERTIFICATE-----" + } ], + "NetworkConfigurations": [ { + "GUID": "{64c4f86b-cf6a-4e4a-8eff-456def}", + "Name": "OpenWrt", + "ProxySettings": { + "Manual": { + "FTPProxy": { + "Host": "192.168.2.1", + "Port": 8889 + }, + "HTTPProxy": { + "Host": "192.168.2.1", + "Port": 8889 + }, + "SOCKS": { + "Host": "192.168.2.1", + "Port": 8889 + }, + "SecureHTTPProxy": { + "Host": "192.168.2.1", + "Port": 8889 + } + }, + "Type": "Manual" + }, + "Type": "WiFi", + "WiFi": { + "AutoConnect": true, + "HiddenSSID": false, + "Passphrase": "some passphrase", + "SSID": "OpenWrt", + "Security": "WPA-PSK" + } + } ] +} diff --git a/chromeos/test/data/network/shill_openvpn.json b/chromeos/test/data/network/shill_openvpn.json index 1bf84ef..08650df 100644 --- a/chromeos/test/data/network/shill_openvpn.json +++ b/chromeos/test/data/network/shill_openvpn.json @@ -1,10 +1,10 @@ { "GUID": "{a3860e83-f03d-4cb1-bafa-b22c9e746950}", "Type": "vpn", - "Name": "google-dogfood", + "Name": "my vpn", "SaveCredentials": false, "Provider.Type": "openvpn", - "Provider.Host": "v.ext.google.com", + "Provider.Host": "vpn.my.domain.com", "OpenVPN.AuthRetry": "interact", "OpenVPN.User": "some username", "OpenVPN.Password": "some password", @@ -12,14 +12,14 @@ "OpenVPN.CompLZO": "true", "OpenVPN.ServerPollTimeout": "10", "OpenVPN.RemoteCertKU": "e0", - "OpenVPN.CACertNSS": "{14ff4d51-64c1-4c86-a622-054d8e55e750}", + "OpenVPN.CACertNSS": "{14ff4d51-64c1-4c86-a622-054xyz}", "OpenVPN.RemoteCertTLS": "server", "OpenVPN.Port": "443", - "OpenVPN.TLSRemote": "v.ext.google.com", + "OpenVPN.TLSRemote": "my.domain.com", "OpenVPN.KeyDirection": "1", "OpenVPN.RenegSec": "0", "OpenVPN.RemoteCertEKU": "TLS Web Server Authentication", "OpenVPN.Proto": "udp", "OpenVPN.PushPeerInfo": "true", - "OpenVPN.TLSAuthContents": "-----BEGIN OpenVPN Static key V1-----\nf8a19b8fddda3a38e06b883c48c83474\n0d1dfe7e5cadb2891387ac2d85198cdf\ne14274d03d12c4128c6c8967f84b1b39\n22452fb869280cde868bcf3932615927\nab1948d951c19183276fa249fd6e1e5f\nfc1c41400b59493a39cad872f5c7e777\n310d685d9c30abff7f206afc09cc99d9\ne40b2091e29af5b37d191628fba6d86e\n3a239b45b1b5a6be3229663ee7a7dc67\n2fa5be59fe7ceb41d2c78f94237c2185\n0aea1b06d739bca83240671167ddd2c2\n9cfd931df468536bfd1be99cd05160d8\n09ebfe4b8da88fb1923b19ad1abfc45e\n0402321e41af54e7d19ac95b1a7cec9a\nbf60a8eabcd5eecc84773af211477ee9\n9c988269638f9f1bb668028bb688dea2\nEND OpenVPN Static key V1-----\n" + "OpenVPN.TLSAuthContents": "-----BEGIN OpenVPN Static key V1-----\n83f8e7ccd99be189b4663e18615f9166\nd885cdea6c8accb0ebf5be304f0b8081\n5404f2a6574e029815d7a2fb65b83d0c\n676850714c6a56b23415a78e06aad6b1\n34900dd512049598382039e4816cb5ff\n1848532b71af47578c9b4a14b5bca49f\n99e0ae4dae2f4e5eadfea374aeb8fb1e\na6fdf02adc73ea778dfd43d64bf7bc75\n7779d629498f8c2fbfd32812bfdf6df7\n8cebafafef3e5496cb13202274f2768a\n1959bc53d67a70945c4c8c6f34b63327\nfb60dc84990ffec1243461e0b6310f61\ne90aee1f11fb6292d6f5fcd7cd508aab\n50d80f9963589c148cb4b933ec86128d\ned77d3fad6005b62f36369e2319f52bd\n09c6d2e52cce2362a05009dc29b6b39a\n-----END OpenVPN Static key V1-----\n" } diff --git a/chromeos/test/data/network/valid_openvpn.onc b/chromeos/test/data/network/valid_openvpn.onc index 512cb0e..2e0daca 100644 --- a/chromeos/test/data/network/valid_openvpn.onc +++ b/chromeos/test/data/network/valid_openvpn.onc @@ -1,9 +1,9 @@ { "GUID": "{a3860e83-f03d-4cb1-bafa-b22c9e746950}", - "Name": "google-dogfood", + "Name": "my vpn", "Type": "VPN", "VPN": { - "Host": "v.ext.google.com", + "Host": "vpn.my.domain.com", "Type": "OpenVPN", "OpenVPN": { "AuthRetry": "interact", @@ -20,11 +20,11 @@ "RemoteCertTLS": "server", "RenegSec": 0, "SaveCredentials": false, - "ServerCARef": "{14ff4d51-64c1-4c86-a622-054d8e55e750}", + "ServerCARef": "{14ff4d51-64c1-4c86-a622-054xyz}", "ServerPollTimeout": 10, "StaticChallenge": "Please enter token OTP", - "TLSAuthContents": "-----BEGIN OpenVPN Static key V1-----\nf8a19b8fddda3a38e06b883c48c83474\n0d1dfe7e5cadb2891387ac2d85198cdf\ne14274d03d12c4128c6c8967f84b1b39\n22452fb869280cde868bcf3932615927\nab1948d951c19183276fa249fd6e1e5f\nfc1c41400b59493a39cad872f5c7e777\n310d685d9c30abff7f206afc09cc99d9\ne40b2091e29af5b37d191628fba6d86e\n3a239b45b1b5a6be3229663ee7a7dc67\n2fa5be59fe7ceb41d2c78f94237c2185\n0aea1b06d739bca83240671167ddd2c2\n9cfd931df468536bfd1be99cd05160d8\n09ebfe4b8da88fb1923b19ad1abfc45e\n0402321e41af54e7d19ac95b1a7cec9a\nbf60a8eabcd5eecc84773af211477ee9\n9c988269638f9f1bb668028bb688dea2\nEND OpenVPN Static key V1-----\n", - "TLSRemote": "v.ext.google.com", + "TLSAuthContents": "-----BEGIN OpenVPN Static key V1-----\n83f8e7ccd99be189b4663e18615f9166\nd885cdea6c8accb0ebf5be304f0b8081\n5404f2a6574e029815d7a2fb65b83d0c\n676850714c6a56b23415a78e06aad6b1\n34900dd512049598382039e4816cb5ff\n1848532b71af47578c9b4a14b5bca49f\n99e0ae4dae2f4e5eadfea374aeb8fb1e\na6fdf02adc73ea778dfd43d64bf7bc75\n7779d629498f8c2fbfd32812bfdf6df7\n8cebafafef3e5496cb13202274f2768a\n1959bc53d67a70945c4c8c6f34b63327\nfb60dc84990ffec1243461e0b6310f61\ne90aee1f11fb6292d6f5fcd7cd508aab\n50d80f9963589c148cb4b933ec86128d\ned77d3fad6005b62f36369e2319f52bd\n09c6d2e52cce2362a05009dc29b6b39a\n-----END OpenVPN Static key V1-----\n", + "TLSRemote": "my.domain.com", "Username": "some username", } } |