1d4afb5ceSopenharmony_ci
2d4afb5ceSopenharmony_cistatic const char * const ss_policy =
3d4afb5ceSopenharmony_ci	"{"
4d4afb5ceSopenharmony_ci	  "\"release\":"			"\"01234567\","
5d4afb5ceSopenharmony_ci	  "\"product\":"			"\"myproduct\","
6d4afb5ceSopenharmony_ci	  "\"schema-version\":"			"1,"
7d4afb5ceSopenharmony_ci
8d4afb5ceSopenharmony_ci	  "\"retry\": ["	/* named backoff / retry strategies */
9d4afb5ceSopenharmony_ci		"{\"default\": {"
10d4afb5ceSopenharmony_ci			"\"backoff\": ["	 "1000,"
11d4afb5ceSopenharmony_ci						 "2000,"
12d4afb5ceSopenharmony_ci						 "3000,"
13d4afb5ceSopenharmony_ci						 "5000,"
14d4afb5ceSopenharmony_ci						"10000"
15d4afb5ceSopenharmony_ci				"],"
16d4afb5ceSopenharmony_ci			"\"conceal\":"		"25,"
17d4afb5ceSopenharmony_ci			"\"jitterpc\":"		"20,"
18d4afb5ceSopenharmony_ci			"\"svalidping\":"	"30,"
19d4afb5ceSopenharmony_ci			"\"svalidhup\":"	"35"
20d4afb5ceSopenharmony_ci		"}}"
21d4afb5ceSopenharmony_ci	  "],"
22d4afb5ceSopenharmony_ci	  "\"certs\": [" /* named individual certificates in BASE64 DER */
23d4afb5ceSopenharmony_ci		/*
24d4afb5ceSopenharmony_ci		 * Let's Encrypt certs for warmcat.com / libwebsockets.org
25d4afb5ceSopenharmony_ci		 *
26d4afb5ceSopenharmony_ci		 * We fetch the real policy from there using SS and switch to
27d4afb5ceSopenharmony_ci		 * using that.
28d4afb5ceSopenharmony_ci		 */
29d4afb5ceSopenharmony_ci		"{\"isrg_root_x1\": \"" /* ISRG ROOT X1 */
30d4afb5ceSopenharmony_ci	"MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw"
31d4afb5ceSopenharmony_ci	"TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh"
32d4afb5ceSopenharmony_ci	"cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4"
33d4afb5ceSopenharmony_ci	"WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu"
34d4afb5ceSopenharmony_ci	"ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY"
35d4afb5ceSopenharmony_ci	"MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc"
36d4afb5ceSopenharmony_ci	"h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+"
37d4afb5ceSopenharmony_ci	"0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U"
38d4afb5ceSopenharmony_ci	"A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW"
39d4afb5ceSopenharmony_ci	"T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH"
40d4afb5ceSopenharmony_ci	"B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC"
41d4afb5ceSopenharmony_ci	"B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv"
42d4afb5ceSopenharmony_ci	"KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn"
43d4afb5ceSopenharmony_ci	"OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn"
44d4afb5ceSopenharmony_ci	"jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw"
45d4afb5ceSopenharmony_ci	"qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI"
46d4afb5ceSopenharmony_ci	"rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV"
47d4afb5ceSopenharmony_ci	"HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq"
48d4afb5ceSopenharmony_ci	"hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL"
49d4afb5ceSopenharmony_ci	"ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ"
50d4afb5ceSopenharmony_ci	"3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK"
51d4afb5ceSopenharmony_ci	"NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5"
52d4afb5ceSopenharmony_ci	"ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur"
53d4afb5ceSopenharmony_ci	"TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC"
54d4afb5ceSopenharmony_ci	"jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc"
55d4afb5ceSopenharmony_ci	"oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq"
56d4afb5ceSopenharmony_ci	"4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA"
57d4afb5ceSopenharmony_ci	"mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d"
58d4afb5ceSopenharmony_ci	"emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc="
59d4afb5ceSopenharmony_ci		"\"},"
60d4afb5ceSopenharmony_ci		"{\"LEX3_isrg_root_x1\": \"" /* LE X3 signed by ISRG X1 root */
61d4afb5ceSopenharmony_ci	"MIIFjTCCA3WgAwIBAgIRANOxciY0IzLc9AUoUSrsnGowDQYJKoZIhvcNAQELBQAw"
62d4afb5ceSopenharmony_ci	"TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh"
63d4afb5ceSopenharmony_ci	"cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTYxMDA2MTU0MzU1"
64d4afb5ceSopenharmony_ci	"WhcNMjExMDA2MTU0MzU1WjBKMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNTGV0J3Mg"
65d4afb5ceSopenharmony_ci	"RW5jcnlwdDEjMCEGA1UEAxMaTGV0J3MgRW5jcnlwdCBBdXRob3JpdHkgWDMwggEi"
66d4afb5ceSopenharmony_ci	"MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCc0wzwWuUuR7dyXTeDs2hjMOrX"
67d4afb5ceSopenharmony_ci	"NSYZJeG9vjXxcJIvt7hLQQWrqZ41CFjssSrEaIcLo+N15Obzp2JxunmBYB/XkZqf"
68d4afb5ceSopenharmony_ci	"89B4Z3HIaQ6Vkc/+5pnpYDxIzH7KTXcSJJ1HG1rrueweNwAcnKx7pwXqzkrrvUHl"
69d4afb5ceSopenharmony_ci	"Npi5y/1tPJZo3yMqQpAMhnRnyH+lmrhSYRQTP2XpgofL2/oOVvaGifOFP5eGr7Dc"
70d4afb5ceSopenharmony_ci	"Gu9rDZUWfcQroGWymQQ2dYBrrErzG5BJeC+ilk8qICUpBMZ0wNAxzY8xOJUWuqgz"
71d4afb5ceSopenharmony_ci	"uEPxsR/DMH+ieTETPS02+OP88jNquTkxxa/EjQ0dZBYzqvqEKbbUC8DYfcOTAgMB"
72d4afb5ceSopenharmony_ci	"AAGjggFnMIIBYzAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADBU"
73d4afb5ceSopenharmony_ci	"BgNVHSAETTBLMAgGBmeBDAECATA/BgsrBgEEAYLfEwEBATAwMC4GCCsGAQUFBwIB"
74d4afb5ceSopenharmony_ci	"FiJodHRwOi8vY3BzLnJvb3QteDEubGV0c2VuY3J5cHQub3JnMB0GA1UdDgQWBBSo"
75d4afb5ceSopenharmony_ci	"SmpjBH3duubRObemRWXv86jsoTAzBgNVHR8ELDAqMCigJqAkhiJodHRwOi8vY3Js"
76d4afb5ceSopenharmony_ci	"LnJvb3QteDEubGV0c2VuY3J5cHQub3JnMHIGCCsGAQUFBwEBBGYwZDAwBggrBgEF"
77d4afb5ceSopenharmony_ci	"BQcwAYYkaHR0cDovL29jc3Aucm9vdC14MS5sZXRzZW5jcnlwdC5vcmcvMDAGCCsG"
78d4afb5ceSopenharmony_ci	"AQUFBzAChiRodHRwOi8vY2VydC5yb290LXgxLmxldHNlbmNyeXB0Lm9yZy8wHwYD"
79d4afb5ceSopenharmony_ci	"VR0jBBgwFoAUebRZ5nu25eQBc4AIiMgaWPbpm24wDQYJKoZIhvcNAQELBQADggIB"
80d4afb5ceSopenharmony_ci	"ABnPdSA0LTqmRf/Q1eaM2jLonG4bQdEnqOJQ8nCqxOeTRrToEKtwT++36gTSlBGx"
81d4afb5ceSopenharmony_ci	"A/5dut82jJQ2jxN8RI8L9QFXrWi4xXnA2EqA10yjHiR6H9cj6MFiOnb5In1eWsRM"
82d4afb5ceSopenharmony_ci	"UM2v3e9tNsCAgBukPHAg1lQh07rvFKm/Bz9BCjaxorALINUfZ9DD64j2igLIxle2"
83d4afb5ceSopenharmony_ci	"DPxW8dI/F2loHMjXZjqG8RkqZUdoxtID5+90FgsGIfkMpqgRS05f4zPbCEHqCXl1"
84d4afb5ceSopenharmony_ci	"eO5HyELTgcVlLXXQDgAWnRzut1hFJeczY1tjQQno6f6s+nMydLN26WuU4s3UYvOu"
85d4afb5ceSopenharmony_ci	"OsUxRlJu7TSRHqDC3lSE5XggVkzdaPkuKGQbGpny+01/47hfXXNB7HntWNZ6N2Vw"
86d4afb5ceSopenharmony_ci	"p7G6OfY+YQrZwIaQmhrIqJZuigsrbe3W+gdn5ykE9+Ky0VgVUsfxo52mwFYs1JKY"
87d4afb5ceSopenharmony_ci	"2PGDuWx8M6DlS6qQkvHaRUo0FMd8TsSlbF0/v965qGFKhSDeQoMpYnwcmQilRh/0"
88d4afb5ceSopenharmony_ci	"ayLThlHLN81gSkJjVrPI0Y8xCVPB4twb1PFUd2fPM3sA1tJ83sZ5v8vgFv2yofKR"
89d4afb5ceSopenharmony_ci	"PB0t6JzUA81mSqM3kxl5e+IZwhYAyO0OTg3/fs8HqGTNKd9BqoUwSRBzp06JMg5b"
90d4afb5ceSopenharmony_ci	"rUCGwbCUDI0mxadJ3Bz4WxR6fyNpBK2yAinWEsikxqEt"
91d4afb5ceSopenharmony_ci		"\"}"
92d4afb5ceSopenharmony_ci	  "],"
93d4afb5ceSopenharmony_ci	  "\"trust_stores\": [" /* named cert chains */
94d4afb5ceSopenharmony_ci		"{"
95d4afb5ceSopenharmony_ci			"\"name\": \"le_via_isrg\","
96d4afb5ceSopenharmony_ci			"\"stack\": ["
97d4afb5ceSopenharmony_ci				"\"isrg_root_x1\","
98d4afb5ceSopenharmony_ci				"\"LEX3_isrg_root_x1\""
99d4afb5ceSopenharmony_ci			"]"
100d4afb5ceSopenharmony_ci		"}"
101d4afb5ceSopenharmony_ci	  "],"
102d4afb5ceSopenharmony_ci	  "\"s\": ["
103d4afb5ceSopenharmony_ci
104d4afb5ceSopenharmony_ci		"{\"test_stream\": {"
105d4afb5ceSopenharmony_ci			"\"endpoint\":"		"\"warmcat.com\","
106d4afb5ceSopenharmony_ci			"\"port\":"		"443,"
107d4afb5ceSopenharmony_ci			"\"protocol\":"		"\"h2\","
108d4afb5ceSopenharmony_ci			"\"http_method\":"	"\"GET\","
109d4afb5ceSopenharmony_ci			"\"http_url\":"		"\"index.html\","
110d4afb5ceSopenharmony_ci			"\"tls\":"		"true,"
111d4afb5ceSopenharmony_ci			"\"opportunistic\":"	"true,"
112d4afb5ceSopenharmony_ci			"\"retry\":"		"\"default\","
113d4afb5ceSopenharmony_ci			"\"tls_trust_store\":"	"\"le_via_isrg\""
114d4afb5ceSopenharmony_ci		"}},{"
115d4afb5ceSopenharmony_ci			/*
116d4afb5ceSopenharmony_ci			 * "captive_portal_detect" describes
117d4afb5ceSopenharmony_ci			 * what to do in order to check if the path to
118d4afb5ceSopenharmony_ci			 * the Internet is being interrupted by a
119d4afb5ceSopenharmony_ci			 * captive portal.
120d4afb5ceSopenharmony_ci			 */
121d4afb5ceSopenharmony_ci		    "\"captive_portal_detect\": {"
122d4afb5ceSopenharmony_ci                        "\"endpoint\":"		"\"connectivitycheck.android.com\","
123d4afb5ceSopenharmony_ci			"\"http_url\":"		"\"generate_204\","
124d4afb5ceSopenharmony_ci			"\"port\":"		"80,"
125d4afb5ceSopenharmony_ci                        "\"protocol\":"		"\"h1\","
126d4afb5ceSopenharmony_ci                        "\"http_method\":"	"\"GET\","
127d4afb5ceSopenharmony_ci                        "\"opportunistic\":"	"true,"
128d4afb5ceSopenharmony_ci                        "\"http_expect\":"	"204,"
129d4afb5ceSopenharmony_ci			"\"http_fail_redirect\": true"
130d4afb5ceSopenharmony_ci                "}}"
131d4afb5ceSopenharmony_ci	"]}"
132d4afb5ceSopenharmony_ci;
133d4afb5ceSopenharmony_ci
134d4afb5ceSopenharmony_ci
135