1f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes/* 2adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Licensed to the Apache Software Foundation (ASF) under one or more 3adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * contributor license agreements. See the NOTICE file distributed with 4adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * this work for additional information regarding copyright ownership. 5adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * The ASF licenses this file to You under the Apache License, Version 2.0 6adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * (the "License"); you may not use this file except in compliance with 7adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the License. You may obtain a copy of the License at 8f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 9adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 10f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 11adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Unless required by applicable law or agreed to in writing, software 12adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 13adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * See the License for the specific language governing permissions and 15adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * limitations under the License. 16adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 17adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 18adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpackage tests.security.cert; 19adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 20adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport junit.framework.TestCase; 21adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 22adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport tests.support.resource.Support_Resources; 23adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 24adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport tests.support.Support_GetResource; 25adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 26adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.io.ByteArrayInputStream; 27adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.io.IOException; 28adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.io.InputStream; 29adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.net.URL; 30adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.security.NoSuchProviderException; 31adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.security.Provider; 32adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.security.Security; 33adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.security.cert.CRL; 34adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.security.cert.CRLException; 35adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.security.cert.Certificate; 36adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.security.cert.CertificateException; 37adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.security.cert.CertificateFactory; 38adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.Collection; 39adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.List; 40adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 41adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpublic class CertificateFactory4Test extends TestCase { 42adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 43adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project private static final String BASE_URL = Support_GetResource 44adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .getResourceURL("/../internalres/"); 45adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 46adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project private static final String[] CERTIFICATE_URLS = new String[] { 47adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "Bug93891-PEM.cer", "Bug93891-DER.cer", "Bug94404-PKCS7.cer" }; 48adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 49adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project private static final String[] CRL_URLS = new String[] { "Bug93893-1.crl", 50adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "Bug93893-2.crl", "Bug94404-DER.crl" }; 51adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 52adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project private static final String[] CRLCOLLECTION_URLS = new String[] { "Bug94404-PKCS7.crl" }; 53adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 54adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 55229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.security.cert.CertificateFactory#generateCertificate(java.io.InputStream) 56adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 57adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_generateCertificateLjava_io_InputStream() throws Exception { 58adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test 1 59adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method java.security.cert.Certificate 60adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.security.cert.CertificateFactory.generateCertificate(java.io.InputStream) 61adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project CertificateFactory fact = CertificateFactory.getInstance("X.509"); 62adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < CERTIFICATES_ENCODED_X509.length; i++) { 63adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ByteArrayInputStream bais = new ByteArrayInputStream( 64adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project CERTIFICATES_ENCODED_X509[i].getBytes()); 65adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fact.generateCertificate(bais); 66adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 67adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // try again with generateCertificates() 68adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project bais = new ByteArrayInputStream(CERTIFICATES_ENCODED_X509[i] 69adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .getBytes()); 70adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fact.generateCertificate(bais); 71adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 72adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 73adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test 2 74adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project InputStream is = Support_Resources.getResourceStream("hyts_badpem.cer"); 75adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 76adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fact.generateCertificate(is); 77adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Test2: CertificateException not thrown"); 78adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (CertificateException e) {} finally { 79adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 80adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project is.close(); 81adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IOException ignore) {} 82adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 83adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 84adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 85adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 86229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.security.cert.CertificateFactory#generateCertificates(java.io.InputStream) 87adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 88adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_generateCertificatesLjava_io_InputStream() 89adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project throws Exception { 90adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project CertificateFactory fact = CertificateFactory.getInstance("X.509"); 91adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < CERTIFICATE_URLS.length; i++) { 92adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project URL certUrl = new URL(BASE_URL + CERTIFICATE_URLS[i]); 93adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 94adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project InputStream is = certUrl.openStream(); 95adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Collection<? extends Certificate> certs = fact.generateCertificates(is); 96adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNotNull("The certificates in \"" 97adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + certUrl.toExternalForm() 98adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "\" were not parsed correctly", certs); 99adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IOException e) { 100adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // the certificate could not be found, skip it 101adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (CertificateException e) { 102adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("An exception was thrown while parsing \"" 103adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + certUrl.toExternalForm() + "\": " + e.getMessage()); 104adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 105adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 106adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 107adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 108adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 109229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.security.cert.CertificateFactory#generateCRL(java.io.InputStream) 110adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 111adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_generateCRLLjava_io_InputStream() throws Exception { 112adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project CertificateFactory fact = CertificateFactory.getInstance("X.509"); 113adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < CRL_URLS.length; i++) { 114adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project URL certUrl = new URL(BASE_URL + CRL_URLS[i]); 115adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 116adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project InputStream is = certUrl.openStream(); 117adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project CRL crl = fact.generateCRL(is); 118adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNotNull("The CRL in \"" + certUrl.toExternalForm() 119adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "\" were not parsed correctly", crl); 120adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IOException e) { 121adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // the certificate could not be found, skip it 122adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (CRLException e) { 123adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("An exception was thrown while parsing \"" 124adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + certUrl.toExternalForm() + "\": " + e.getMessage()); 125adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 126adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 127adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 128adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 129adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 130229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.security.cert.CertificateFactory#generateCRLs(java.io.InputStream) 131adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 132adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_generateCRLsLjava_io_InputStream() throws Exception { 133adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project CertificateFactory fact = CertificateFactory.getInstance("X.509"); 134adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < CRLCOLLECTION_URLS.length; i++) { 135adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project URL certUrl = new URL(BASE_URL + CRLCOLLECTION_URLS[i]); 136adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 137adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project InputStream is = certUrl.openStream(); 138adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Collection<? extends CRL> crls = fact.generateCRLs(is); 139adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("The CRLs in \"" + certUrl.toExternalForm() 140adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "\" were not parsed correctly", crls != null 141adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project && crls.size() > 0); 142adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IOException e) { 143adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // the certificate could not be found, skip it 144adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 145adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 146adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 147adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 148adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 149229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.security.cert.CertificateFactory#getInstance(java.lang.String) 150adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 151adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getInstanceLjava_lang_String() throws Exception { 152adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method java.security.cert.CertificateFactory 153adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.security.cert.CertificateFactory.getInstance(java.lang.String) 154adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project CertificateFactory fact = CertificateFactory.getInstance("X.509"); 155adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("factory is null", fact != null); 156adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 157adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 158adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 159229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.security.cert.CertificateFactory#getInstance(java.lang.String, 160adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * java.lang.String) 161adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 162adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getInstanceLjava_lang_StringLjava_lang_String() 163adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project throws Exception { 164adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method java.security.cert.CertificateFactory 165adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.security.cert.CertificateFactory.getInstance(java.lang.String, 166adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.lang.String) 167adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Provider[] providers = Security 168adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .getProviders("CertificateFactory.X.509"); 169adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 170adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (providers != null) { 171adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < providers.length; i++) { 172adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project CertificateFactory fact = CertificateFactory.getInstance( 173adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "X.509", providers[i].getName()); 174adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNotNull("factory is null", fact); 175adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project }// end for 176adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } else { 177adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("No providers support CertificateFactory.X.509"); 178adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 179adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 180adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // exception case 181adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 182adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project CertificateFactory.getInstance("X.509", "IHaventBeenConfigured"); 183adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Should have thrown NoSuchProviderException"); 184adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NoSuchProviderException e) { 185adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Expected 186adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 187adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 188adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 189adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 190229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.security.cert.CertificateFactory#getProvider() 191adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 192adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_getProvider() throws Exception { 193adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Test for method java.security.Provider 194adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // java.security.cert.CertificateFactory.getProvider() 195adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Provider p = CertificateFactory.getInstance("X.509").getProvider(); 196adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNotNull("provider is null", p); 197adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 198adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 199adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 200229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.security.cert.CertificateFactory#generateCRLs(InputStream 201adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * inStream) 202adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 203adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testGenerateCRLs2() throws Exception { 204adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Regression for HARMONY-814 205adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 206adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project CertificateFactory.getInstance("X.509").generateCRL( 207adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project (InputStream) null); 208adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("CRLException was not thrown"); 209adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (CRLException e) {} 210adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 211adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 212adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 213229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.security.cert.CertificateFactory#generateCertificate(InputStream 214adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * inStream) 215adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 216adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testGenerateCertificate() throws Exception { 217adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Regression for HARMONY-814 218adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 219adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project CertificateFactory.getInstance("X.509").generateCertificate(null); 220adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("CertificateException was not thrown"); 221adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (CertificateException e) {} 222adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 223adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 224adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 225229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.security.cert.CertificateFactory#generateCertificates(InputStream 226adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * inStream) 227adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 228adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testGenerateCertificates2() throws Exception { 229adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Regression for HARMONY-814 230adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 231adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project CertificateFactory.getInstance("X.509").generateCertificates(null); 232adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("CertificateException was not thrown"); 233adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (CertificateException e) {} 234adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 235adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 236adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 237229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.security.cert.CertificateFactory#generateCertPath(InputStream 238adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * inStream, String encoding) 239adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 240adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testGenerateCertPath1() throws Exception { 241adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Regression for HARMONY-814 242adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 243adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project CertificateFactory.getInstance("X.509").generateCertPath( 244adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project (InputStream) null, "PkiPath"); 245adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("CertificateException was not thrown"); 246adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (CertificateException e) {} 247adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 248adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 249adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 250229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.security.cert.CertificateFactory#generateCertPath(List<? 251adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * extends Certificate> certificates) 252adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 253adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testGenerateCertPath2() throws Exception { 254adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Regression for HARMONY-814 255adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 256adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project CertificateFactory.getInstance("X.509").generateCertPath( 257adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project (List<Certificate>) null); 258adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("NullPointerException was not thrown"); 259adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) {} 260adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 261adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 262adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 263229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.security.cert.CertificateFactory#generateCertPath(InputStream 264adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * inStream) 265adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 266adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testGenerateCertPath3() throws Exception { 267adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Regression for HARMONY-814 268adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 269adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project CertificateFactory.getInstance("X.509").generateCertPath( 270adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project (InputStream) null); 271adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("CertificateException was not thrown"); 272adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (CertificateException e) {} 273adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 274adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 275adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 276229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.security.cert.CertificateFactory#generateCRL(InputStream 277adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * inStream) 278adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 279adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testGenerateCRL() throws Exception { 280adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Regression for HARMONY-814 281adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 282adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project CertificateFactory.getInstance("X.509").generateCRL( 283adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project (InputStream) null); 284adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("CRLException was not thrown"); 285adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (CRLException e) {} 286adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 287adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 288adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project private static final String[] CERTIFICATES_ENCODED_X509 = { 289adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // CERTIFICATES_ENCODED_X509[0] 290adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "-----BEGIN CERTIFICATE-----\n" 291adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "MIICZTCCAdICBQL3AAC2MA0GCSqGSIb3DQEBAgUAMF8xCzAJBgNVBAYTAlVTMSAw\n" 292adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "HgYDVQQKExdSU0EgRGF0YSBTZWN1cml0eSwgSW5jLjEuMCwGA1UECxMlU2VjdXJl\n" 293adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "IFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw05NzAyMjAwMDAwMDBa\n" 294adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "Fw05ODAyMjAyMzU5NTlaMIGWMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZv\n" 295adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "cm5pYTESMBAGA1UEBxMJUGFsbyBBbHRvMR8wHQYDVQQKExZTdW4gTWljcm9zeXN0\n" 296adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "ZW1zLCBJbmMuMSEwHwYDVQQLExhUZXN0IGFuZCBFdmFsdWF0aW9uIE9ubHkxGjAY\n" 297adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "BgNVBAMTEWFyZ29uLmVuZy5zdW4uY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB\n" 298adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "iQKBgQCofmdY+PiUWN01FOzEewf+GaG+lFf132UpzATmYJkA4AEA/juW7jSi+LJk\n" 299adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "wJKi5GO4RyZoyimAL/5yIWDV6l1KlvxyKslr0REhMBaD/3Z3EsLTTEf5gVrQS6sT\n" 300adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "WMoSZAyzB39kFfsB6oUXNtV8+UKKxSxKbxvhQn267PeCz5VX2QIDAQABMA0GCSqG\n" 301adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "SIb3DQEBAgUAA34AXl3at6luiV/7I9MN5CXYoPJYI8Bcdc1hBagJvTMcmlqL2uOZ\n" 302adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "H9T5hNMEL9Tk6aI7yZPXcw/xI2K6pOR/FrMp0UwJmdxX7ljV6ZtUZf7pY492UqwC\n" 303adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "1777XQ9UEZyrKJvF5ntleeO0ayBqLGVKCWzWZX9YsXCpv47FNLZbupE=\n" 304adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "-----END CERTIFICATE-----\n", 305adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 306adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // CERTIFICATES_ENCODED_X509[1] 307adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "-----BEGIN CERTIFICATE-----\n" 308adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "MIICZzCCAdCgAwIBAgIBGzANBgkqhkiG9w0BAQUFADBhMQswCQYDVQQGEwJVUzEY\n" 309adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "MBYGA1UEChMPVS5TLiBHb3Zlcm5tZW50MQwwCgYDVQQLEwNEb0QxDDAKBgNVBAsT\n" 310adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "A1BLSTEcMBoGA1UEAxMTRG9EIFBLSSBNZWQgUm9vdCBDQTAeFw05ODA4MDMyMjAy\n" 311adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "MjlaFw0wODA4MDQyMjAyMjlaMGExCzAJBgNVBAYTAlVTMRgwFgYDVQQKEw9VLlMu\n" 312adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "IEdvdmVybm1lbnQxDDAKBgNVBAsTA0RvRDEMMAoGA1UECxMDUEtJMRwwGgYDVQQD\n" 313adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "ExNEb0QgUEtJIE1lZCBSb290IENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB\n" 314adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "gQDbrM/J9FrJSX+zxFUbsI9Vw5QbguVBIa95rwW/0M8+sM0r5gd+DY6iubm6wnXk\n" 315adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "CSvbfQlFEDSKr4WYeeGp+d9WlDnQdtDFLdA45tCi5SHjnW+hGAmZnld0rz6wQekF\n" 316adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "5xQaa5A6wjhMlLOjbh27zyscrorMJ1O5FBOWnEHcRv6xqQIDAQABoy8wLTAdBgNV\n" 317adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "HQ4EFgQUVrmYR6m9701cHQ3r5kXyG7zsCN0wDAYDVR0TBAUwAwEB/zANBgkqhkiG\n" 318adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "9w0BAQUFAAOBgQDVX1Y0YqC7vekeZjVxtyuC8Mnxbrz6D109AX07LEIRzNYzwZ0w\n" 319adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "MTImSp9sEzWW+3FueBIU7AxGys2O7X0qmN3zgszPfSiocBuQuXIYQctJhKjF5KVc\n" 320adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "VGQRYYlt+myhl2vy6yPzEVCjiKwMEb1Spu0irCf+lFW2hsdjvmSQMtZvOw==\n" 321adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "-----END CERTIFICATE-----\n", 322adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 323adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // CERTIFICATES_ENCODED_X509[2] 324adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "-----BEGIN CERTIFICATE-----\n" 325adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "MIID6TCCA1KgAwIBAgIBGjANBgkqhkiG9w0BAQUFADBhMQswCQYDVQQGEwJVUzEY\n" 326adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "MBYGA1UEChMPVS5TLiBHb3Zlcm5tZW50MQwwCgYDVQQLEwNEb0QxDDAKBgNVBAsT\n" 327adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "A1BLSTEcMBoGA1UEAxMTRG9EIFBLSSBNZWQgUm9vdCBDQTAeFw05ODA4MDIxNjQ1\n" 328adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "MzhaFw0wMzA4MDIxNjQ1MzhaMFYxCzAJBgNVBAYTAlVTMRgwFgYDVQQKEw9VLlMu\n" 329adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "IEdvdmVybm1lbnQxDDAKBgNVBAsTA0RvRDEMMAoGA1UECxMDUEtJMREwDwYDVQQD\n" 330adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "EwhNZWQgQ0EtMTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAyUcrw1k6QKdB\n" 331adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "WjgtGOk1AVaqJNI8acDGglhqQQ94QYfqZKuo1wwdnYehrgo5QcGkw9XcjBYegLFs\n" 332adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "v4NCCwZ2pgsfYJlvHcSGPhT/wROUYEpXKelfXiEeaGhFl8zGcqteI2+EBbOZnFpj\n" 333adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "Y4y+25dQcjYnrRGMAQ98qGwQtogDiDcCAwEAAaOCAbowggG2MBYGA1UdIAQPMA0w\n" 334adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "CwYJYIZIAWUCAQsDMB8GA1UdIwQYMBaAFFa5mEepve9NXB0N6+ZF8hu87AjdMAwG\n" 335adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "A1UdJAQFMAOAAQAwHQYDVR0OBBYEFDM6FOgJZ2GIZSQg7HlwQtemkx72MA4GA1Ud\n" 336adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "DwEB/wQEAwIBhjB+BgNVHRIEdzB1hnNsZGFwOi8vZHMtMS5jaGFtYi5kaXNhLm1p\n" 337adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "bC9jbiUzZERvRCUyMFBLSSUyME1lZCUyMFJvb3QlMjBDQSUyY291JTNkUEtJJTIg\n" 338adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "Y291JTNkRG9EJTJjbyUzZFUuUy4lMjBHb3Zlcm5tZW50JTJjYyUzZFVTMA8GA1Ud\n" 339adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "EwEB/wQFMAMBAf8wgawGA1UdHwSBpDCBoTCBnqCBm6CBmIaBlWxkYXA6Ly9kcy0x\n" 340adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "LmNoYW1iLmRpc2EubWlsL2NuJTNkRG9EJTIwUEtJJTIwTWVkJTIwUm9vdCUyMENB\n" 341adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "JTJjb3UlM2RQS0klMmNvdSUzZERvRCUyY28lM2RVLlMuJTIwR292ZXJubWVudCUy\n" 342adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "Y2MlM2RVUz9jZXJ0aWZpY2F0ZVJldm9jYXRpb25MaXN0JTNiYmluYXJ5MA0GCSqG\n" 343adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "SIb3DQEBBQUAA4GBAFo5/Tu0dsy8tyhJVvxaKFNMfP3LLaspl+Or8oCpncKdpKyj\n" 344adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "7ZO6uJ0n7oqvEaUThm8jgXSNgyttlYPwoNBxEsTq/lBDV3+y/c61psw3qM2boB1H\n" 345adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "Oi3xXnRY+etG33TN9yydzrZ52XM0hnJZd4xIfoAgqs4T2rgqg8hx0ydU7o4o\n" 346adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "-----END CERTIFICATE-----\n", 347adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 348adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // CERTIFICATES_ENCODED_X509[3] 349adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "-----BEGIN CERTIFICATE-----\n" 350adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "MIIDVjCCAr+gAwIBAgIBRTANBgkqhkiG9w0BAQUFADBWMQswCQYDVQQGEwJVUzEY\n" 351adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "MBYGA1UEChMPVS5TLiBHb3Zlcm5tZW50MQwwCgYDVQQLEwNEb0QxDDAKBgNVBAsT\n" 352adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "A1BLSTERMA8GA1UEAxMITWVkIENBLTEwHhcNOTgwODAyMTcxMzI5WhcNMDEwODAy\n" 353adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "MTcxMzI5WjBwMQswCQYDVQQGEwJVUzEYMBYGA1UEChMPVS5TLiBHb3Zlcm5tZW50\n" 354adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "MQwwCgYDVQQLEwNEb0QxDDAKBgNVBAsTA1BLSTENMAsGA1UECxMEVVNBRjEcMBoG\n" 355adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "A1UEAxMTZHMtMS5jaXN0dy5zYWljLmNvbTCBnTANBgkqhkiG9w0BAQEFAAOBiwAw\n" 356adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "gYcCgYEA19oJsspSHnWDi1/NTthbLrnicDogg3c63ZHPedU1YD90L1ogkYzxSA2t\n" 357adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "MgsVZpNejBglE972mXKPqEGDojnDgltRgRLtLqisIs0DSFQrJrhA8egMH/pHAo9H\n" 358adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "fH0n9rQUYBI3dsLxQkGVUSbB4P83VHi0sQO0dWsq5mEZd9G+MfsCAQOjggEaMIIB\n" 359adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "FjAWBgNVHSAEDzANMAsGCWCGSAFlAgELAzAfBgNVHSMEGDAWgBQzOhToCWdhiGUk\n" 360adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "IOx5cELXppMe9jAdBgNVHQ4EFgQUcQaYO8EEjje+VI3vfBIlDC6HNj0wDgYDVR0P\n" 361adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "AQH/BAQDAgUgMAwGA1UdEwEB/wQCMAAwgZ0GA1UdHwSBlTCBkjCBj6CBjKCBiYaB\n" 362adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "hmxkYXA6Ly9kcy0xLmNoYW1iLmRpc2EubWlsL2NuJTNkTWVkJTIwQ0ElMmQxJTJj\n" 363adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "b3UlM2RQS0klMmNvdSUzZERvRCUyY28lM2RVLlMuJTIwR292ZXJubWVudCUyY2Ml\n" 364adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "M2RVUz9jZXJ0aWZpY2F0ZVJldm9jYXRpb25MaXN0JTNiYmluYXJ5MA0GCSqGSIb3\n" 365adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "DQEBBQUAA4GBAEg7AC9bad2KZzyX4cqLU/mv2cbVg6tES2PIeST7nk8CQcv9a8IO\n" 366adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "3K4uhrKoTsQfqs9p6+6s0VbgH3PKvOAIF4DAp5Yq1zz3fB+hsaFleHqtDNuldm1+\n" 367adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "3XA2Oqa5aRFkb6Krut0EEOV4c/GEAPOrRGUTzYmOp4SEc8TEaD/75A7R\n" 368adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "-----END CERTIFICATE-----\n", 369adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 370adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // CERTIFICATES_ENCODED_X509[4] 371adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "-----BEGIN CERTIFICATE-----\n" 372adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "MIIDXDCCAsWgAwIBAgIBSjANBgkqhkiG9w0BAQUFADBWMQswCQYDVQQGEwJVUzEY\n" 373adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "MBYGA1UEChMPVS5TLiBHb3Zlcm5tZW50MQwwCgYDVQQLEwNEb0QxDDAKBgNVBAsT\n" 374adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "A1BLSTERMA8GA1UEAxMITWVkIENBLTEwHhcNOTgwODAyMTgwMjQwWhcNMDEwODAy\n" 375adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "MTgwMjQwWjB0MQswCQYDVQQGEwJVUzEYMBYGA1UEChMPVS5TLiBHb3Zlcm5tZW50\n" 376adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "MQwwCgYDVQQLEwNEb0QxDDAKBgNVBAsTA1BLSTENMAsGA1UECxMEVVNBRjEgMB4G\n" 377adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "A1UEAxMXR3VtYnkuSm9zZXBoLjAwMDAwMDUwNDQwgZ8wDQYJKoZIhvcNAQEBBQAD\n" 378adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "gY0AMIGJAoGBALT/R7bPqs1c1YqXAg5HNpZLgW2HuAc7RCaP06cE4R44GBLw/fQc\n" 379adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "VRNLn5pgbTXsDnjiZVd8qEgYqjKFQka4/tNhaF7No2tBZB+oYL/eP0IWtP+h/W6D\n" 380adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "KR5+UvIIdgmx7k3t9jp2Q51JpHhhKEb9WN54trCO9Yu7PYU+LI85jEIBAgMBAAGj\n" 381adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "ggEaMIIBFjAWBgNVHSAEDzANMAsGCWCGSAFlAgELAzAfBgNVHSMEGDAWgBQzOhTo\n" 382adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "CWdhiGUkIOx5cELXppMe9jAdBgNVHQ4EFgQUkLBJl+ayKgzOp/wwBX9M1lSkCg4w\n" 383adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "DgYDVR0PAQH/BAQDAgbAMAwGA1UdEwEB/wQCMAAwgZ0GA1UdHwSBlTCBkjCBj6CB\n" 384adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "jKCBiYaBhmxkYXA6Ly9kcy0xLmNoYW1iLmRpc2EubWlsL2NuJTNkTWVkJTIwQ0El\n" 385adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "MmQxJTJjb3UlM2RQS0klMmNvdSUzZERvRCUyY28lM2RVLlMuJTIwR292ZXJubWVu\n" 386adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "dCUyY2MlM2RVUz9jZXJ0aWZpY2F0ZVJldm9jYXRpb25MaXN0JTNiYmluYXJ5MA0G\n" 387adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "CSqGSIb3DQEBBQUAA4GBAFjapuDHMvIdUeYRyEYdShBR1JZC20tJ3MQnyBQveddz\n" 388adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "LGFDGpIkRAQU7T/5/ne8lMexyxViC21xOlK9LdbJCbVyywvb9uEm/1je9wieQQtr\n" 389adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "kjykuB+WB6qTCIslAO/eUmgzfzIENvnH8O+fH7QTr2PdkFkiPIqBJYHvw7F3XDqy\n" 390adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "-----END CERTIFICATE-----\n", 391adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 392adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // CERTIFICATES_ENCODED_X509[5] 393adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "-----BEGIN CERTIFICATE-----\n" 394adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "MIIDlDCCAv2gAwIBAgIBGTANBgkqhkiG9w0BAQUFADBcMQswCQYDVQQGEwJVUzEY\n" 395adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "MBYGA1UEChMPVS5TLiBHb3Zlcm5tZW50MQwwCgYDVQQLEwNEb0QxDDAKBgNVBAsT\n" 396adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "A1BLSTEXMBUGA1UEAxMOTWVkIEVtYWlsIENBLTEwHhcNOTgwODAyMTgwNjM0WhcN\n" 397adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "MDAwODAyMTgwNjM0WjCBmTELMAkGA1UEBhMCVVMxGDAWBgNVBAoTD1UuUy4gR292\n" 398adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "ZXJubWVudDEMMAoGA1UECxMDRG9EMQwwCgYDVQQLEwNQS0kxDTALBgNVBAsTBFVT\n" 399adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "QUYxIDAeBgNVBAMTF0d1bWJ5Lkpvc2VwaC4wMDAwMDA1MDQ0MSMwIQYJKoZIhvcN\n" 400adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "AQkBFhRndW1ieUBjaXN0dy5zYWljLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAw\n" 401adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "gYkCgYEAvU4LMoOnF9bmhHvxZz8wCc9eRJ0j4RB0SmVYoq9iPrSJBwROeuxuU8VS\n" 402adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "JBL/u+RB5t6UJVNjXFmB1wS0foxpOHFQBFWyvWmuOiRUNaRxTVCrO4eG+nmM/U89\n" 403adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "DKAc9FV4bZ8dPE9PlK9oq0J8Y2DIKz1+gIeM1sTPMnDtFgfGyH8CAwEAAaOCASYw\n" 404adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "ggEiMBYGA1UdIAQPMA0wCwYJYIZIAWUCAQsDMB8GA1UdIwQYMBaAFJcrSHN/a+aN\n" 405adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "L5DK1NpJUIvX+bVnMB0GA1UdDgQWBBR50N97AxK0G6U17EP1iu38LiLTBzAOBgNV\n" 406adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "HQ8BAf8EBAMCBaAwDAYDVR0TAQH/BAIwADCBqQYDVR0fBIGhMIGeMIGboIGYoIGV\n" 407adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "hoGSbGRhcDovL2RzLTEuY2hhbWIuZGlzYS5taWw6MzkwL2NuJTNkTWVkJTIwRW1h\n" 408adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "aWwlMjBDQSUyZDElMmNvdSUzZFBLSSUyY291JTNkRG9EJTJjbyUzZFUuUy4lMjBH\n" 409adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "b3Zlcm5tZW50JTJjYyUzZFVTP2NlcnRpZmljYXRlUmV2b2NhdGlvbkxpc3QlM2Ji\n" 410adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "aW5hcnkwDQYJKoZIhvcNAQEFBQADgYEAA9z8h7K4v0CuOyvmALNl8TQt0inf0w52\n" 411adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "JJUvw/3FLA622IHe/vC9VHyIF0ibSEljWeOBuRjoMELAZGXCwRu43o2LDRqHr4Pc\n" 412adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "WlG0uUtgHTPxbZpaUwueIZCBZg57f7Zhlub7Ag+AjeOybFj3FYqDB7TYqWJgAs/7\n" 413adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "g5WfNEVAEwc=\n" + "-----END CERTIFICATE-----\n", 414adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 415adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // CERTIFICATES_ENCODED_X509[6] 416adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "-----BEGIN CERTIFICATE-----\n" 417adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "MIIEEjCCA7ygAwIBAgIIEt4r4gAAAlIwDQYJKoZIhvcNAQEEBQAwgZMxCzAJBgNV\n" 418adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "BAYTAlVTMQswCQYDVQQIEwJXQTEQMA4GA1UEBxMHUmVkbW9uZDETMBEGA1UEChMK\n" 419adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "V2luZG93cyBOVDEbMBkGA1UECxMSRGlzdHJpYnV0ZWQgU3lzdGVtMTMwMQYDVQQD\n" 420adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "EypNaWNyb3NvZnQgQ2VydGlmaWNhdGUgU2VydmVyIFRlc3QgR3JvdXAgQ0EwHhcN\n" 421adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "OTcxMTI1MTkwNDIyWhcNOTgxMDE0MTgxMTI4WjBuMQswCQYDVQQGEwJVUzELMAkG\n" 422adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "A1UECBMCV0ExEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBD\n" 423adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "b3Jwb3JhdGlvbjENMAsGA1UECxMERFNZUzERMA8GA1UEAxMIQ2VydFRlc3QwWzAN\n" 424adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "BgkqhkiG9w0BAQEFAANKADBHAkB6hKgbYme8gtCf1Vy74KVNLf2o/R1kQVDSZiNm\n" 425adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "lBSEsHAJSLXuuVdYsKo/hzarr9gGmI/gUzmargY1xJGQYbazAgMBAAGjggIXMIIC\n" 426adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "EzCBzwYDVR0jBIHHMIHEgBS3hTIRuBZaOibht1DZjnTUg/IiRaGBmaSBljCBkzEL\n" 427adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "MAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdSZWRtb25kMRMwEQYD\n" 428adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "VQQKEwpXaW5kb3dzIE5UMRswGQYDVQQLExJEaXN0cmlidXRlZCBTeXN0ZW0xMzAx\n" 429adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "BgNVBAMTKk1pY3Jvc29mdCBDZXJ0aWZpY2F0ZSBTZXJ2ZXIgVGVzdCBHcm91cCBD\n" 430adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "QYIQERNhAKoA/oUR0US54igUYzCBvQYDVR0fBIG1MIGyMFagVKBShlBodHRwOi8v\n" 431adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "Q0VSVFNSVi9DZXJ0U3J2L0NlcnRFbnJvbGwvTWljcm9zb2Z0IENlcnRpZmljYXRl\n" 432adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "IFNlcnZlciBUZXN0IEdyb3VwIENBLmNybDBYoFagVIZSZmlsZTovL1xcQ0VSVFNS\n" 433adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "VlxDZXJ0U3J2XENlcnRFbnJvbGxcTWljcm9zb2Z0IENlcnRpZmljYXRlIFNlcnZl\n" 434adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "ciBUZXN0IEdyb3VwIENBLmNybDAJBgNVHRMEAjAAMHQGCCsGAQUFBwEBBGgwZjBk\n" 435adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "BggrBgEFBQcwAoZYaHR0cDovL0NFUlRTUlYvQ2VydFNydi9DZXJ0RW5yb2xsL0NF\n" 436adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "UlRTUlZfTWljcm9zb2Z0IENlcnRpZmljYXRlIFNlcnZlciBUZXN0IEdyb3VwIENB\n" 437adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "LmNydDANBgkqhkiG9w0BAQQFAANBAFbEj4j/3Nv6WcAvq24C7yw8L0FcyE4dtLLX\n" 438adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "U+04P0POe/doyTT6UngXNXp9RXpqDSiIHBRTshpvR+N2vweR5qA=\n" 439adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "-----END CERTIFICATE-----\n", 440adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 441adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // CERTIFICATES_ENCODED_X509[7] 442adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "-----BEGIN CERTIFICATE-----\n" 443adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "MIIEYTCCBAugAwIBAgIIFViWmwAAAlowDQYJKoZIhvcNAQEEBQAwgZMxCzAJBgNV\n" 444adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "BAYTAlVTMQswCQYDVQQIEwJXQTEQMA4GA1UEBxMHUmVkbW9uZDETMBEGA1UEChMK\n" 445adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "V2luZG93cyBOVDEbMBkGA1UECxMSRGlzdHJpYnV0ZWQgU3lzdGVtMTMwMQYDVQQD\n" 446adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "EypNaWNyb3NvZnQgQ2VydGlmaWNhdGUgU2VydmVyIFRlc3QgR3JvdXAgQ0EwHhcN\n" 447adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "OTcxMTI2MDYzNzE4WhcNOTgxMDE0MTgxMTI4WjCBmjEjMCEGCSqGSIb3DQEJARYU\n" 448adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "YWxsYW5jQG1pY3Jvc29mdC5jb20xCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJXQTEQ\n" 449adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "MA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9u\n" 450adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "MQ0wCwYDVQQLEwREU1lTMRgwFgYDVQQDEw9BbGxhbiBKLiBDb29wZXIwWzANBgkq\n" 451adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "hkiG9w0BAQEFAANKADBHAkB1951uZLyJXjSZTc8Z1QnuXvKBAqm2WT4OFaFySF/F\n" 452adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "WnMbIlAE0pvszDkKZ+N7hBzcc5pVIjezPfZ8cPh//jVPAgMBAAGjggI5MIICNTAL\n" 453adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "BgNVHQ8EBAMCADgwEwYDVR0lBAwwCgYIKwYBBQUHAwQwgc8GA1UdIwSBxzCBxIAU\n" 454adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "t4UyEbgWWjom4bdQ2Y501IPyIkWhgZmkgZYwgZMxCzAJBgNVBAYTAlVTMQswCQYD\n" 455adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "VQQIEwJXQTEQMA4GA1UEBxMHUmVkbW9uZDETMBEGA1UEChMKV2luZG93cyBOVDEb\n" 456adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "MBkGA1UECxMSRGlzdHJpYnV0ZWQgU3lzdGVtMTMwMQYDVQQDEypNaWNyb3NvZnQg\n" 457adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "Q2VydGlmaWNhdGUgU2VydmVyIFRlc3QgR3JvdXAgQ0GCEBETYQCqAP6FEdFEueIo\n" 458adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "FGMwgb0GA1UdHwSBtTCBsjBWoFSgUoZQaHR0cDovL0NFUlRTUlYvQ2VydFNydi9D\n" 459adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "ZXJ0RW5yb2xsL01pY3Jvc29mdCBDZXJ0aWZpY2F0ZSBTZXJ2ZXIgVGVzdCBHcm91\n" 460adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "cCBDQS5jcmwwWKBWoFSGUmZpbGU6Ly9cXENFUlRTUlZcQ2VydFNydlxDZXJ0RW5y\n" 461adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "b2xsXE1pY3Jvc29mdCBDZXJ0aWZpY2F0ZSBTZXJ2ZXIgVGVzdCBHcm91cCBDQS5j\n" 462adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "cmwwCQYDVR0TBAIwADB0BggrBgEFBQcBAQRoMGYwZAYIKwYBBQUHMAKGWGh0dHA6\n" 463adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "Ly9DRVJUU1JWL0NlcnRTcnYvQ2VydEVucm9sbC9DRVJUU1JWX01pY3Jvc29mdCBD\n" 464adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "ZXJ0aWZpY2F0ZSBTZXJ2ZXIgVGVzdCBHcm91cCBDQS5jcnQwDQYJKoZIhvcNAQEE\n" 465adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "BQADQQA1TYsk07tW0dhU6bHPK7NXHUFFiZ2fAtC0epLY9G6yuYb1lozPv5sDnCl1\n" 466adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "A2fZPgawvAqCvK9xkv5L4j2F+v4U\n" 467adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "-----END CERTIFICATE-----\n", 468adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 469adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // CERTIFICATES_ENCODED_X509[8] 470adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "-----BEGIN CERTIFICATE-----\n" 471adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "MIIEYjCCBAygAwIBAgIIFVsHaQAAAlwwDQYJKoZIhvcNAQEEBQAwgZMxCzAJBgNV\n" 472adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "BAYTAlVTMQswCQYDVQQIEwJXQTEQMA4GA1UEBxMHUmVkbW9uZDETMBEGA1UEChMK\n" 473adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "V2luZG93cyBOVDEbMBkGA1UECxMSRGlzdHJpYnV0ZWQgU3lzdGVtMTMwMQYDVQQD\n" 474adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "EypNaWNyb3NvZnQgQ2VydGlmaWNhdGUgU2VydmVyIFRlc3QgR3JvdXAgQ0EwHhcN\n" 475adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "OTcxMTI2MDYzOTU4WhcNOTgxMDE0MTgxMTI4WjCBmjEjMCEGCSqGSIb3DQEJARYU\n" 476adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "YWxsYW5jQG1pY3Jvc29mdC5jb20xCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJXQTEQ\n" 477adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "MA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9u\n" 478adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "MQ0wCwYDVQQLEwREU1lTMRgwFgYDVQQDEw9BbGxhbiBKLiBDb29wZXIwXDANBgkq\n" 479adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "hkiG9w0BAQEFAANLADBIAkEA0T1td8kfsJgwm8Qj+jtrq29tqc/DIkIbAPcyygKG\n" 480adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "1XEUvzQEQumVQx5lCD2LOOJs0eOuv4h6ngvLW+goDaidNQIDAQABo4ICOTCCAjUw\n" 481adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "CwYDVR0PBAQDAgDAMBMGA1UdJQQMMAoGCCsGAQUFBwMIMIHPBgNVHSMEgccwgcSA\n" 482adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "FLeFMhG4Flo6JuG3UNmOdNSD8iJFoYGZpIGWMIGTMQswCQYDVQQGEwJVUzELMAkG\n" 483adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "A1UECBMCV0ExEDAOBgNVBAcTB1JlZG1vbmQxEzARBgNVBAoTCldpbmRvd3MgTlQx\n" 484adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "GzAZBgNVBAsTEkRpc3RyaWJ1dGVkIFN5c3RlbTEzMDEGA1UEAxMqTWljcm9zb2Z0\n" 485adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "IENlcnRpZmljYXRlIFNlcnZlciBUZXN0IEdyb3VwIENBghARE2EAqgD+hRHRRLni\n" 486adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "KBRjMIG9BgNVHR8EgbUwgbIwVqBUoFKGUGh0dHA6Ly9DRVJUU1JWL0NlcnRTcnYv\n" 487adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "Q2VydEVucm9sbC9NaWNyb3NvZnQgQ2VydGlmaWNhdGUgU2VydmVyIFRlc3QgR3Jv\n" 488adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "dXAgQ0EuY3JsMFigVqBUhlJmaWxlOi8vXFxDRVJUU1JWXENlcnRTcnZcQ2VydEVu\n" 489adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "cm9sbFxNaWNyb3NvZnQgQ2VydGlmaWNhdGUgU2VydmVyIFRlc3QgR3JvdXAgQ0Eu\n" 490adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "Y3JsMAkGA1UdEwQCMAAwdAYIKwYBBQUHAQEEaDBmMGQGCCsGAQUFBzAChlhodHRw\n" 491adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "Oi8vQ0VSVFNSVi9DZXJ0U3J2L0NlcnRFbnJvbGwvQ0VSVFNSVl9NaWNyb3NvZnQg\n" 492adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "Q2VydGlmaWNhdGUgU2VydmVyIFRlc3QgR3JvdXAgQ0EuY3J0MA0GCSqGSIb3DQEB\n" 493adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "BAUAA0EAUPXt2pOY3YwRUHzD7Dtgyx5G7KxKtLan1wFBFjhv406v2Utb+2+wTQlS\n" 494adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "ulWemcm8eOdG64nspv0oqSJnA8f4xg==\n" 495adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "-----END CERTIFICATE-----\n", 496adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 497adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // CERTIFICATES_ENCODED_X509[9] 498adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "-----BEGIN CERTIFICATE-----\n" 499adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "MIICiTCCAfICAQAwDQYJKoZIhvcNAQEEBQAwgYwxCzAJBgNVBAYTAlVTMRUwEwYD\n" 500adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "VQQIEwxOb3J0aCBEYWtvdGExFDASBgNVBAcTC0dyYW5kIEZvcmtzMRYwFAYDVQQK\n" 501adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "Ew1VTkQgQWVyb3NwYWNlMRgwFgYDVQQDFA9yb290QGNzLnVuZC5lZHUxHjAcBgkq\n" 502adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "hkiG9w0BCQEWD3Jvb3RAY3MudW5kLmVkdTAeFw05OTAzMDIyMDU4NDRaFw0wOTAy\n" 503adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "MjcyMDU4NDRaMIGMMQswCQYDVQQGEwJVUzEVMBMGA1UECBMMTm9ydGggRGFrb3Rh\n" 504adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "MRQwEgYDVQQHEwtHcmFuZCBGb3JrczEWMBQGA1UEChMNVU5EIEFlcm9zcGFjZTEY\n" 505adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "MBYGA1UEAxQPcm9vdEBjcy51bmQuZWR1MR4wHAYJKoZIhvcNAQkBFg9yb290QGNz\n" 506adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "LnVuZC5lZHUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALmlQJg5Nl2VsQZ1\n" 507adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "/B8fW4YDdk09SlVc7vyWcbcmbWRBJee0jcH448XdRP/m/MXIRsVKyhLA5f01+VPy\n" 508adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "E2aDkx2WiU4DpqbMbGGAytuXBNudJQmBXjWEFiAGe7dYgDNGKK7Yo1k49Q6qGg9q\n" 509adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "5did3+ppsyfzbeaiDCH0LO5gegNvAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAJnok\n" 510adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "1gvj4KC9HeUX/R4Q/f5tbJ2jLeQATIHtUx9QSKSq7IsdY0zz9EnKOsc9pr8JfBTL\n" 511adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "cAwrxqvl5QuoCFVR2tQq8DtBQY8vp7bEF2CZVoxZJXMIKKiD/Hjb0oypbq5wF0SY\n" 512adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "xN5DUfG5sShi+vPIAwE62tZ1P1I1N8DQpDYiXkw=\n" 513adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "-----END CERTIFICATE-----\n", 514adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 515adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // CERTIFICATES_ENCODED_X509[10] 516adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "-----BEGIN CERTIFICATE-----\n" 517adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "MIICWDCCAgICAQAwDQYJKoZIhvcNAQEEBQAwgbYxCzAJBgNVBAYTAlpBMRUwEwYD\n" 518adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "VQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEdMBsGA1UEChMU\n" 519adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "VGhhd3RlIENvbnN1bHRpbmcgY2MxHzAdBgNVBAsTFkNlcnRpZmljYXRpb24gU2Vy\n" 520adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "dmljZXMxFzAVBgNVBAMTDnd3dy50aGF3dGUuY29tMSMwIQYJKoZIhvcNAQkBFhR3\n" 521adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "ZWJtYXN0ZXJAdGhhd3RlLmNvbTAeFw05NjExMTQxNzE1MjVaFw05NjEyMTQxNzE1\n" 522adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "MjVaMIG2MQswCQYDVQQGEwJaQTEVMBMGA1UECBMMV2VzdGVybiBDYXBlMRIwEAYD\n" 523adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "VQQHEwlDYXBlIFRvd24xHTAbBgNVBAoTFFRoYXd0ZSBDb25zdWx0aW5nIGNjMR8w\n" 524adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "HQYDVQQLExZDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzMRcwFQYDVQQDEw53d3cudGhh\n" 525adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "d3RlLmNvbTEjMCEGCSqGSIb3DQEJARYUd2VibWFzdGVyQHRoYXd0ZS5jb20wXDAN\n" 526adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "BgkqhkiG9w0BAQEFAANLADBIAkEAmpIl7aR3aSPUUwUrHzpVMrsm3gpI2PzIwMh3\n" 527adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "9l1h/RszI0/0qC2WRMlfwm5FapohoyjTJ6ZyGUUenICllKyKZwIDAQABMA0GCSqG\n" 528adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "SIb3DQEBBAUAA0EAfI57WLkOKEyQqyCDYZ6reCukVDmAe7nZSbOyKv6KUvTCiQ5c\n" 529adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "e5L4y3c/ViKdlou5BcQYAbxA7rwO/vz4m51w4w==\n" 530adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "-----END CERTIFICATE-----\n", 531adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 532adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // CERTIFICATES_ENCODED_X509[11] 533adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "-----BEGIN CERTIFICATE-----\n" 534adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "MIIDGjCCAtgCBDaRW4swCwYHKoZIzjgEAwUAMHMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdGbG9y\n" 535adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "aWRhMRQwEgYDVQQHEwtHYWluZXN2aWxsZTEQMA4GA1UEChMHVW5rbm93bjEQMA4GA1UECxMHVW5r\n" 536adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "bm93bjEYMBYGA1UEAxMPUm9iZXJ0IEx5YmFyZ2VyMB4XDTk5MDEwNTAwMjMzOVoXDTk5MDQwNTAw\n" 537adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "MjMzOVowczELMAkGA1UEBhMCVVMxEDAOBgNVBAgTB0Zsb3JpZGExFDASBgNVBAcTC0dhaW5lc3Zp\n" 538adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "bGxlMRAwDgYDVQQKEwdVbmtub3duMRAwDgYDVQQLEwdVbmtub3duMRgwFgYDVQQDEw9Sb2JlcnQg\n" 539adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "THliYXJnZXIwggG3MIIBLAYHKoZIzjgEATCCAR8CgYEA/X9TgR11EilS30qcLuzk5/YRt1I870QA\n" 540adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "wx4/gLZRJmlFXUAiUftZPY1Y+r/F9bow9subVWzXgTuAHTRv8mZgt2uZUKWkn5/oBHsQIsJPu6nX\n" 541adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "/rfGG/g7V+fGqKYVDwT7g/bTxR7DAjVUE1oWkTL2dfOuK2HXKu/yIgMZndFIAccCFQCXYFCPFSML\n" 542adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "zLKSuYKi64QL8Fgc9QKBgQD34aCF1ps93su8q1w2uFe5eZSvu/o66oL5V0wLPQeCZ1FZV4661FlP\n" 543adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "5nEHEIGAtEkWcSPoTCgWE7fPCTKMyKbhPBZ6i1R8jSjgo64eK7OmdZFuo38L+iE1YvH7YnoBJDvM\n" 544adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "pPG+qFGQiaiD3+Fa5Z8GkotmXoB7VSVkAUw7/s9JKgOBhAACgYBMhs/XcF0LAjbuhoAY4EOmxd4U\n" 545adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "U0w4nSJQ2vKcgpyHU1Sv/tbUr3xEm6Yyx49j1eNp9jVwM1a6NYX8BO8fCSHIiUVvJVFlCcoO7Qb8\n" 546adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "Px7drfbFAFt8mFE1mjYCuj21ePHhs1DlZKJwu2ElC6GaRwtBk3+oCMDAnLuySd0+fAohdDALBgcq\n" 547adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "hkjOOAQDBQADLwAwLAIUddbqC3woMcABg/r1GPW9eVNStGwCFCBGySvdXK0i4aLVC4Ptbc3PQFjp\n" 548adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "-----END CERTIFICATE-----\n", 549adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 550adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //CERTIFICATES_ENCODED_X509[12] 551adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "-----BEGIN CERTIFICATE-----\n" 552adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "MIICyzCCAjQCAQAwDQYJKoZIhvcNAQEEBQAwga0xCzAJBgNVBAYTAlVTMREwDwYD\n" 553adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "VQQIEwhOZXcgWW9yazEWMBQGA1UEBxMNTmV3IFlvcmsgQ2l0eTEcMBoGA1UEChMT\n" 554adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "Q29sdW1iaWEgVW5pdmVyc2l0eTENMAsGA1UECxMEQWNJUzEfMB0GA1UEAxMWQ29s\n" 555adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "dW1iaWEgVW5pdmVyc2l0eSBDQTElMCMGCSqGSIb3DQEJARYWY2VydC1hdXRoQGNv\n" 556adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "bHVtYmlhLmVkdTAeFw05NzA0MjgxNDQxMDNaFw0wMDA0MjgxNDQxMDNaMIGtMQsw\n" 557adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "CQYDVQQGEwJVUzERMA8GA1UECBMITmV3IFlvcmsxFjAUBgNVBAcTDU5ldyBZb3Jr\n" 558adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "IENpdHkxHDAaBgNVBAoTE0NvbHVtYmlhIFVuaXZlcnNpdHkxDTALBgNVBAsTBEFj\n" 559adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "SVMxHzAdBgNVBAMTFkNvbHVtYmlhIFVuaXZlcnNpdHkgQ0ExJTAjBgkqhkiG9w0B\n" 560adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "CQEWFmNlcnQtYXV0aEBjb2x1bWJpYS5lZHUwgZ8wDQYJKoZIhvcNAQEBBQADgY0A\n" 561adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "MIGJAoGBANiod6flzM72CbsK/3gzHzcdjpoozRDD/wgq31jEeDdfKY+ljAwxaZS9\n" 562adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "mt7S1g7lL+55fx7FjfJxvJRXvS9UbDU46PDDyJloWYobg84bK5ZcV5UnIPZmGHW/\n" 563adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "/xVDUtIGhc4T+Xm5p4F+4AcgewF2s4TbKWxfC98FJfepc31KjkGbAgMBAAEwDQYJ\n" 564adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "KoZIhvcNAQEEBQADgYEAI/e6xC+osVM4eMkSUUWgihuocQlRL9ixTlGqW9fvNlI1\n" 565adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "q58fELU5bcFko7d02S9Egac/9ckkt/sbHMv9zQhfnvpol8BN+LivGu+09IiOW4yq\n" 566adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "c9xT58Pv9gwZ/Ei5VS+FXvzHIr91yWIlwLsnKfgYDrmQowG5FkHSG1ZotUdl7Oo=\n" 567adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "-----END CERTIFICATE-----\n", 568adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 569adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //CERTIFICATES_ENCODED_X509[13] 570adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "-----BEGIN CERTIFICATE-----\n" 571adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "MIICnjCCAgcCAQMwDQYJKoZIhvcNAQEEBQAwgaAxCzAJBgNVBAYTAklUMR4wHAYD\n" 572adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "VQQKExVQb2xpdGVjbmljbyBkaSBUb3Jpbm8xIzAhBgNVBAsTGklDRS1URUwgSXRh\n" 573adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "bGlhbiBDQSBmb3IgV1dXMSAwHgYDVQQDExdDZXJ0aWZpY2F0aW9uIEF1dGhvcml0\n" 574adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "eTEqMCgGCSqGSIb3DQEJARYbd3d3LWNhLWl0QGljZS10ZWwucG9saXRvLml0MB4X\n" 575adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "DTk2MTAwMjExNDQ0NFoXDTk3MTIwMTExNDQ0NFowgY0xCzAJBgNVBAYTAklUMQ8w\n" 576adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "DQYDVQQHEwZUb3Jpbm8xHjAcBgNVBAoTFVBvbGl0ZWNuaWNvIGRpIFRvcmlubzEO\n" 577adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "MAwGA1UECxMFQ2VTSVQxGTAXBgNVBAMTEHVsaXNzZS5wb2xpdG8uaXQxIjAgBgkq\n" 578adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "hkiG9w0BCQEWE3dlYm1hc3RlckBwb2xpdG8uaXQwgZ8wDQYJKoZIhvcNAQEBBQAD\n" 579adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "gY0AMIGJAoGBAMUq/FdrxbSfGtGZq/FTTgC1JqxO4iiHiyxtgRT1oEvJIUjajVRN\n" 580adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "dtBVUhW6JmhHje/qnMop09XcF7b89a9ahtG9jM70S03biXVmg66pWOpy6P7znAQj\n" 581adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "VFPoCRR7BqUiGq0419a101Acaqkxi/4DdqiTPee4H7mcDZYu+fDPNQaHAgMBAAEw\n" 582adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "DQYJKoZIhvcNAQEEBQADgYEAt15bzk0XO+ZM+Q6275VTQIon6KQQHnv9NflIFOoW\n" 583adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "fgGRmoyiJFrjU1sIS8ctF03DH2xR20CuKd98fBpKnoOLd7eTKAGzGFPml36TPVj+\n" 584adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "YYWdrWqnIzQn6F0OKR/U3Y+ot5fUNuqN36Q1wsVvpPJlOMx8D8OQy8ainHgG3YYA\n" 585adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "TJk=\n" + "-----END CERTIFICATE-----\n", 586adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 587adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //CERTIFICATES_ENCODED_X509[14] 588adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "-----BEGIN CERTIFICATE-----\n" 589adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "MIIC1TCCAj6gAwIBAgIBBDANBgkqhkiG9w0BAQQFADBZMQswCQYDVQQGEwJVUzEf\n" 590adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "MB0GA1UEChMWVW5pdmVyc2l0eSBvZiBDb2xvcmFkbzEWMBQGA1UECxMNU3lzdGVt\n" 591adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "IE9mZmljZTERMA8GA1UEAxMIVU1TIENBLTEwHhcNOTgwNTExMjEwMjU0WhcNMDgw\n" 592adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "NTEwMjEwMjU0WjBZMQswCQYDVQQGEwJVUzEfMB0GA1UEChMWVW5pdmVyc2l0eSBv\n" 593adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "ZiBDb2xvcmFkbzEWMBQGA1UECxMNU3lzdGVtIE9mZmljZTERMA8GA1UEAxMIVU1T\n" 594adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "IENBLTEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALGf8Ny+kHlXqLTi3uIf\n" 595adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "mkxxwDJd14sOg+hv85pxsqzCRJEgOx5YDUt05hJ7N0s4rJ/gNUcJaKR6ul+qLGbW\n" 596adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "+Zb4S1YFbnKaO16zggvgckwpLGYRBbmee9+E47W8VEOZWrJXUkpJ/ZV8GAnesrvn\n" 597adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "XTEKfm7bX9s6R7FQfDoHNnQfAgMBAAGjgawwgakwEQYJYIZIAYb4QgEBBAQDAgD2\n" 598adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "MB8GA1UdIwQYMBaAFOqlID9Er6dI09n9Lvnby+FISi7oMFQGCWCGSAGG+EIBDQRH\n" 599adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "FkVFeHRlbmRlZCBDQSBDZXJ0aWZpY2F0ZSBmcm9tIDI0IE1vbnRocyB0byAxMjAg\n" 600adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "TW9udGhzLiAgRFRHID0gMDUxMTE5OTgwHQYDVR0OBBYEFOqlID9Er6dI09n9Lvnb\n" 601adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "y+FISi7oMA0GCSqGSIb3DQEBBAUAA4GBAFNFo27JeeIgsMqS7Na//6gJQRilxwVS\n" 602adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "Bfx6J43YX47EgNDLn4J7B9Tst+2bDZDAk1lZyu4y2WCLrnfg/e6B1KYBhCt/Srsc\n" 603adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "r+WomFcw19k1jBtBaYxVwh/9N4ppZGdKILACciXbxfoLbbNgSDx5+KbE2c2m9is7\n" 604adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "MIZgRexTvnJa\n" + "-----END CERTIFICATE-----\n" }; 605adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} 606