1adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpackage tests.security.cert; 2adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 3adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport dalvik.annotation.AndroidOnly; 4adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 5adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport junit.framework.TestCase; 6adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 7adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport org.apache.harmony.security.asn1.ASN1Integer; 8adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport org.apache.harmony.security.asn1.ASN1OctetString; 9adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport org.apache.harmony.security.tests.support.cert.TestUtils; 10adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 11adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.io.ByteArrayInputStream; 12adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.io.IOException; 13adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.math.BigInteger; 14adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.security.InvalidKeyException; 15adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.security.NoSuchAlgorithmException; 16adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.security.NoSuchProviderException; 17adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.security.Principal; 18adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.security.PublicKey; 19adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.security.SignatureException; 20adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.security.cert.CRL; 21adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.security.cert.CRLException; 22adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.security.cert.Certificate; 23adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.security.cert.CertificateException; 24adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.security.cert.CertificateFactory; 25adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.security.cert.X509CRL; 26adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.security.cert.X509CRLEntry; 27adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.security.cert.X509CRLSelector; 28adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.security.cert.X509Certificate; 29adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.ArrayList; 30adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.Collection; 31adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.Date; 32adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.Set; 33adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 34adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport javax.security.auth.x500.X500Principal; 35229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom 36adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpublic class X509CRLSelector2Test extends TestCase { 37adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 38adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project protected void setUp() throws Exception { 39adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project super.setUp(); 40adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 41adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 42adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project protected void tearDown() throws Exception { 43adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project super.tearDown(); 44adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 45adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 46adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 47adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * constructor testing. 48f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 49adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 50adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testX509CRLSelector() { 51adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project X509CRLSelector selector = new X509CRLSelector(); 52adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNull(selector.getDateAndTime()); 53adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNull(selector.getCertificateChecking()); 54adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNull(selector.getIssuerNames()); 55adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNull(selector.getIssuers()); 56adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNull(selector.getMaxCRL()); 57adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNull(selector.getMinCRL()); 58adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 59adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 60adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 61adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * addIssuer(X500Principal issuer) method testing. Tests if CRLs with 62adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * specified issuers match the selector, and if not specified issuer does 63adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * not match the selector. 64adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 65adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testAddIssuerLjavax_security_auth_x500_X500Principal02() { 66adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project X509CRLSelector selector = new X509CRLSelector(); 67adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project X500Principal iss1 = new X500Principal("O=First Org."); 68adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project X500Principal iss2 = new X500Principal("O=Second Org."); 69adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project CRL crl1 = new TestCRL(iss1); 70adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project CRL crl2 = new TestCRL(iss2); 71adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 72adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.addIssuer(iss1); 73adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("The CRL should match the selection criteria.", selector 74adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .match(crl1)); 75adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertFalse("The CRL should not match the selection criteria.", 76adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.match(crl2)); 77adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.addIssuer(iss2); 78adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("The CRL should match the selection criteria.", selector 79adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .match(crl2)); 80adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 81adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 82adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 83adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * addIssuerName(String name) method testing. Tests if CRLs with specified 84adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * issuers match the selector, and if not specified issuer does not match 85adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the selector. 86adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 87adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testAddIssuerNameLjava_lang_String03() { 88adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project X509CRLSelector selector = new X509CRLSelector(); 89adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String iss1 = "O=First Org."; 90adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String iss2 = "O=Second Org."; 91adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project TestCRL crl1 = new TestCRL(new X500Principal(iss1)); 92adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project TestCRL crl2 = new TestCRL(new X500Principal(iss2)); 93adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 94adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 95adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.addIssuerName(iss1); 96adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IOException e) { 97adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project e.printStackTrace(); 98adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Unexpected IOException was thrown."); 99adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 100adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("The CRL should match the selection criteria.", selector 101adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .match(crl1)); 102adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertFalse("The CRL should not match the selection criteria.", 103adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.match(crl2)); 104adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 105adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.addIssuerName(iss2); 106adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IOException e) { 107adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project e.printStackTrace(); 108adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Unexpected IOException was thrown."); 109adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 110adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("The CRL should match the selection criteria.", selector 111adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .match(crl2)); 112adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 113adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 114adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 115adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * setIssuerNames(Collection <?> names) method testing. Tests if CRLs with 116adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * any issuers match the selector in the case of null issuerNames criteria, 117adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if specified issuers match the selector, if not specified issuer does not 118adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * match the selector, and if the internal collection of issuer names is 119adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * copied during initialization. 120adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 121adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @SuppressWarnings("unchecked") 122adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testSetIssuerNamesLjava_util_Collection02() { 123adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project X509CRLSelector selector = new X509CRLSelector(); 124adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String iss1 = "O=First Org."; 125adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project byte[] iss2 = new byte[] 126adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // manually obtained DER encoding of "O=Second Org." issuer name; 127adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project { 48, 22, 49, 20, 48, 18, 6, 3, 85, 4, 10, 19, 11, 83, 101, 99, 111, 128adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 110, 100, 32, 79, 114, 103, 46 }; 129adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 130adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String iss3 = "O=Third Org."; 131adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project TestCRL crl1 = new TestCRL(new X500Principal(iss1)); 132adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project TestCRL crl2 = new TestCRL(new X500Principal(iss2)); 133adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project TestCRL crl3 = new TestCRL(new X500Principal(iss3)); 134adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 135adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 136adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.setIssuerNames(null); 137adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IOException e) { 138adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project e.printStackTrace(); 139adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Unexpected IOException was thrown."); 140adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 141adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Any CRL issuers should match in the case of null issuers.", 142adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.match(crl1) && selector.match(crl2)); 143adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 144adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ArrayList issuers = new ArrayList(2); 145adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project issuers.add(iss1); 146adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project issuers.add(iss2); 147adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 148adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.setIssuerNames(issuers); 149adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IOException e) { 150adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project e.printStackTrace(); 151adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Unexpected IOException was thrown."); 152adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 153adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("The CRL should match the selection criteria.", selector 154adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .match(crl1) 155adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project && selector.match(crl2)); 156adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertFalse("The CRL should not match the selection criteria.", 157adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.match(crl3)); 158adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project issuers.add(iss3); 159adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertFalse("The internal issuer collection is not protected " 160adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "against the modifications.", selector.match(crl3)); 161adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 162adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 163adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 164adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * setIssuers(Collection <X500Principal> issuers) method testing. Tests if 165adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * CRLs with any issuers match the selector in the case of null issuerNames 166adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * criteria, if specified issuers match the selector, and if not specified 167adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * issuer does not match the selector. 168adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 169adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testSetIssuersLjava_util_Collection() { 170adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project X509CRLSelector selector = new X509CRLSelector(); 171adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project X500Principal iss1 = new X500Principal("O=First Org."); 172adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project X500Principal iss2 = new X500Principal("O=Second Org."); 173adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project X500Principal iss3 = new X500Principal("O=Third Org."); 174adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project TestCRL crl1 = new TestCRL(iss1); 175adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project TestCRL crl2 = new TestCRL(iss2); 176adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project TestCRL crl3 = new TestCRL(iss3); 177adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 178adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.setIssuers(null); 179adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Any CRL issuers should match in the case of null issuers.", 180adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.match(crl1) && selector.match(crl2)); 181adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 182adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ArrayList<X500Principal> issuers = new ArrayList<X500Principal>(2); 183adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project issuers.add(iss1); 184adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project issuers.add(iss2); 185adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.setIssuers(issuers); 186adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("The CRL should match the selection criteria.", selector 187adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .match(crl1) 188adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project && selector.match(crl2)); 189adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertFalse("The CRL should not match the selection criteria.", 190adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.match(crl3)); 191adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project issuers.add(iss3); 192adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertFalse("The internal issuer collection is not protected " 193adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "against the modifications.", selector.match(crl3)); 194adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 195adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 196adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 197adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * addIssuerName(byte[] name) method testing. Tests if CRLs with specified 198adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * issuers match the selector, and if not specified issuer does not match 199adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the selector. 200adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 201adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testAddIssuerName$B() { 202adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project X509CRLSelector selector = new X509CRLSelector(); 203adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project byte[] iss1 = new byte[] 204adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // manually obtained DER encoding of "O=First Org." issuer name; 205adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project { 48, 21, 49, 19, 48, 17, 6, 3, 85, 4, 10, 19, 10, 70, 105, 114, 115, 206adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 116, 32, 79, 114, 103, 46 }; 207adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project byte[] iss2 = new byte[] 208adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // manually obtained DER encoding of "O=Second Org." issuer name; 209adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project { 48, 22, 49, 20, 48, 18, 6, 3, 85, 4, 10, 19, 11, 83, 101, 99, 111, 210adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 110, 100, 32, 79, 114, 103, 46 }; 211adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project TestCRL crl1 = new TestCRL(new X500Principal(iss1)); 212adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project TestCRL crl2 = new TestCRL(new X500Principal(iss2)); 213adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 214adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 215adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.addIssuerName(iss1); 216adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IOException e) { 217adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project e.printStackTrace(); 218adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Unexpected IOException was thrown."); 219adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 220adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("The CRL should match the selection criteria.", selector 221adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .match(crl1)); 222adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertFalse("The CRL should not match the selection criteria.", 223adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.match(crl2)); 224adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 225adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.addIssuerName(iss2); 226adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IOException e) { 227adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project e.printStackTrace(); 228adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Unexpected IOException was thrown."); 229adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 230adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("The CRL should match the selection criteria.", selector 231adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .match(crl2)); 232adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 233adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 234adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 235adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * setMinCRLNumber(BigInteger minCRL) method testing. Tests if CRLs with any 236adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * crl number value match the selector in the case of null crlNumber 237adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * criteria, if specified minCRL value matches the selector, and if CRL with 238adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * inappropriate crlNumber value does not match the selector. 239adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 240adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @AndroidOnly("Uses specific class: " + 241f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes "org.apache.harmony.security.asn1.ASN1OctetString.") 242adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testSetMinCRLNumberLjava_math_BigInteger() { 243adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project X509CRLSelector selector = new X509CRLSelector(); 244adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project BigInteger minCRL = new BigInteger("10000"); 245adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project CRL crl = new TestCRL(minCRL); 246adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 247adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.setMinCRLNumber(null); 248adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Any CRL should match in the case of null minCRLNumber.", 249adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.match(crl)); 250adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.setMinCRLNumber(minCRL); 251adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("The CRL should match the selection criteria.", selector 252adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .match(crl)); 253adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.setMinCRLNumber(new BigInteger("10001")); 254adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertFalse("The CRL should not match the selection criteria.", 255adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.match(crl)); 256adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 257adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 258adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 259adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * setMaxCRLNumber(BigInteger maxCRL) method testing. Tests if CRLs with any 260adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * crl number value match the selector in the case of null crlNumber 261adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * criteria, if specified maxCRL value matches the selector, and if CRL with 262adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * inappropriate crlNumber value does not match the selector. 263adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 264adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @AndroidOnly("Uses specific class: " + 265f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes "org.apache.harmony.security.asn1.ASN1OctetString.") 266adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testSetMaxCRLNumberLjava_math_BigInteger() { 267adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project X509CRLSelector selector = new X509CRLSelector(); 268adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project BigInteger maxCRL = new BigInteger("10000"); 269adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project TestCRL crl = new TestCRL(maxCRL); 270adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 271adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.setMaxCRLNumber(null); 272adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Any CRL should match in the case of null minCRLNumber.", 273adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.match(crl)); 274adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.setMaxCRLNumber(maxCRL); 275adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("The CRL should match the selection criteria.", selector 276adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .match(crl)); 277adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.setMaxCRLNumber(new BigInteger("9999")); 278adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertFalse("The CRL should not match the selection criteria.", 279adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.match(crl)); 280adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 281adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 282adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 283adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * setDateAndTime(Date dateAndTime) method testing. Tests if CRLs with any 284adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * update dates match the selector in the case of null dateAndTime criteria, 285adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if correct dates match and incorrect do not match the selector. 286adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 287adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testSetDateAndTimeLjava_util_Date() { 288adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project X509CRLSelector selector = new X509CRLSelector(); 289adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project TestCRL crl = new TestCRL(new Date(200), new Date(300)); 290adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.setDateAndTime(null); 291adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("Any CRL should match in the case of null dateAndTime.", 292adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.match(crl)); 293adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.setDateAndTime(new Date(200)); 294adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("The CRL should match the selection criteria.", selector 295adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .match(crl)); 296adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.setDateAndTime(new Date(250)); 297adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("The CRL should match the selection criteria.", selector 298adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .match(crl)); 299adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.setDateAndTime(new Date(300)); 300adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("The CRL should match the selection criteria.", selector 301adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .match(crl)); 302adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.setDateAndTime(new Date(150)); 303adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertFalse("The CRL should not match the selection criteria.", 304adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.match(crl)); 305adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.setDateAndTime(new Date(350)); 306adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertFalse("The CRL should not match the selection criteria.", 307adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.match(crl)); 308adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 309adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 310adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 311f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * setCertificateChecking(X509Certificate) method testing. 312adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 313adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testSetCertificateCheckingLjava_X509Certificate() 314adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project throws CertificateException { 315adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project X509CRLSelector selector = new X509CRLSelector(); 316adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 317adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project CertificateFactory certFact = CertificateFactory.getInstance("X509"); 318adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project X509Certificate cert = (X509Certificate) certFact 319adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .generateCertificate(new ByteArrayInputStream(TestUtils 320adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .getX509Certificate_v3())); 321adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 322adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project TestCRL crl = new TestCRL(); 323adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.setCertificateChecking(cert); 324adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("The CRL should match the selection criteria.", selector 325adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .match(crl)); 326adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(cert, selector.getCertificateChecking()); 327f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 328adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.setCertificateChecking(null); 329adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("The CRL should match the selection criteria.", selector 330adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .match(crl)); 331adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNull(selector.getCertificateChecking()); 332adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 333adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 334adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 335adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * getIssuers() method testing. Tests if the method return null in the case 336adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * of not specified issuers, if the returned collection corresponds to the 337adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * specified issuers and this collection is unmodifiable. 338adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 339adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testGetIssuers() { 340adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project X509CRLSelector selector = new X509CRLSelector(); 341adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project X500Principal iss1 = new X500Principal("O=First Org."); 342adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project X500Principal iss2 = new X500Principal("O=Second Org."); 343adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project X500Principal iss3 = new X500Principal("O=Third Org."); 344adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNull("The collection should be null.", selector.getIssuers()); 345adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.addIssuer(iss1); 346adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.addIssuer(iss2); 347adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Collection<X500Principal> result = selector.getIssuers(); 348adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 349adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project result.add(iss3); 350adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("The returned collection should be unmodifiable."); 351adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (UnsupportedOperationException e) { 352adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 353adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("The collection should contain the specified DN.", result 354adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .contains(iss2)); 355adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 356adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 357adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 358adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * getIssuerNames() method testing. Tests if the method return null in the 359adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * case of not specified issuers, if the returned collection corresponds to 360adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the specified issuers. 361adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 362adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testGetIssuerNames() { 363adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project X509CRLSelector selector = new X509CRLSelector(); 364adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project byte[] iss1 = new byte[] 365adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // manually obtained DER encoding of "O=First Org." issuer name; 366adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project { 48, 21, 49, 19, 48, 17, 6, 3, 85, 4, 10, 19, 10, 70, 105, 114, 115, 367adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 116, 32, 79, 114, 103, 46 }; 368adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project byte[] iss2 = new byte[] 369adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // manually obtained DER encoding of "O=Second Org." issuer name; 370adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project { 48, 22, 49, 20, 48, 18, 6, 3, 85, 4, 10, 19, 11, 83, 101, 99, 111, 371adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 110, 100, 32, 79, 114, 103, 46 }; 372adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNull("The collection should be null.", selector.getIssuerNames()); 373adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 374adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.addIssuerName(iss1); 375adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.addIssuerName(iss2); 376adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IOException e) { 377adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project e.printStackTrace(); 378adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Unexpected IOException was thrown."); 379adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 380adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Collection<Object> result = selector.getIssuerNames(); 381adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("The collection should contain all of the specified DNs.", 382adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 2, result.size()); 383adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 384adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 385adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 386adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * getMinCRL() method testing. Tests if the method return null in the case 387adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * of not specified minCRL criteria, and if the returned value corresponds 388adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * to the specified one. 389adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 390adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testGetMinCRL() { 391adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project X509CRLSelector selector = new X509CRLSelector(); 392adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNull("Initially the minCRL should be null.", selector.getMinCRL()); 393adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project BigInteger minCRL = new BigInteger("10000"); 394adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.setMinCRLNumber(minCRL); 395adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("The result should be equal to specified.", minCRL 396adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .equals(selector.getMinCRL())); 397adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 398adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 399adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 400adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * getMaxCRL() method testing. Tests if the method return null in the case 401adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * of not specified maxCRL criteria, and if the returned value corresponds 402adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * to the specified one. 403adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 404adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testGetMaxCRL() { 405adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project X509CRLSelector selector = new X509CRLSelector(); 406adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNull("Initially the maxCRL should be null.", selector.getMaxCRL()); 407adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project BigInteger maxCRL = new BigInteger("10000"); 408adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.setMaxCRLNumber(maxCRL); 409adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("The result should be equal to specified.", maxCRL 410adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .equals(selector.getMaxCRL())); 411adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 412adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 413adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 414adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * getDateAndTime() method testing. Tests if the method return null in the 415adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * case of not specified dateAndTime criteria, and if the returned value 416adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * corresponds to the specified one. 417adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 418adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testGetDateAndTime() { 419adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project X509CRLSelector selector = new X509CRLSelector(); 420adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNull("Initially the dateAndTime criteria should be null.", 421adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.getDateAndTime()); 422adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Date date = new Date(200); 423adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.setDateAndTime(date); 424adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("The result should be equal to specified.", date 425adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .equals(selector.getDateAndTime())); 426adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 427adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 428adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 429f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * getCertificateChecking() method testing. 430adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 431adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testGetCertificateCheckingLjava_X509Certificate() 432adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project throws CertificateException { 433adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project X509CRLSelector selector = new X509CRLSelector(); 434adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 435adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project CertificateFactory certFact = CertificateFactory.getInstance("X509"); 436adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project X509Certificate cert = (X509Certificate) certFact 437adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .generateCertificate(new ByteArrayInputStream(TestUtils 438adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .getX509Certificate_v3())); 439adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 440adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.setCertificateChecking(cert); 441adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(cert, selector.getCertificateChecking()); 442f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 443adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.setCertificateChecking(null); 444adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNull(selector.getCertificateChecking()); 445adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 446f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 447adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 448adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * match(CRL crl) method testing. Tests if the null object matches to the 449adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * selector or not. 450adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 451adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testMatchLjava_security_cert_X509CRL() { 452adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project X509CRLSelector selector = new X509CRLSelector(); 453adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertFalse("The null object should not match", selector 454adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .match((X509CRL) null)); 455adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 456adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 457adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 458adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * clone() method testing. Tests if the selector is cloned correctly: the 459adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * crl which matche to the initial selector should match to the clone and 460adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the change of clone should not cause the change of initial selector. 461adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 462adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @AndroidOnly("Uses specific classes: " + 463adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "org.apache.harmony.security.asn1.ASN1OctetString, " + 464adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "org.apache.harmony.security.asn1.ASN1Integer.") 465adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testClone() { 466adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project X509CRLSelector selector = new X509CRLSelector(); 467adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project X500Principal iss1 = new X500Principal("O=First Org."); 468adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project X500Principal iss2 = new X500Principal("O=Second Org."); 469adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project X500Principal iss3 = new X500Principal("O=Third Org."); 470adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project BigInteger minCRL = new BigInteger("10000"); 471adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project BigInteger maxCRL = new BigInteger("10000"); 472adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Date date = new Date(200); 473adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 474adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.addIssuer(iss1); 475adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.addIssuer(iss2); 476adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.setMinCRLNumber(minCRL); 477adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.setMaxCRLNumber(maxCRL); 478adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.setDateAndTime(date); 479adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 480adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project X509CRLSelector clone = (X509CRLSelector) selector.clone(); 481adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project TestCRL crl = new TestCRL(iss1); 482adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project crl.setCrlNumber(minCRL); 483adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project crl.setUpdateDates(new Date(200), new Date(200)); 484adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("The specified CRL should match the clone selector.", 485adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.match(crl)); 486adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 487adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project clone.addIssuer(iss3); 488adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertFalse("The changes of the clone selector should not cause " 489adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + "the changes of initial object", selector.getIssuerNames() 490adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .size() == 3); 491adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 492adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testToString() { 493adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project X509CRLSelector selector = new X509CRLSelector(); 494adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project X500Principal iss1 = new X500Principal("O=First Org."); 495adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project X500Principal iss2 = new X500Principal("O=Second Org."); 496adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project BigInteger minCRL = new BigInteger("10000"); 497adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project BigInteger maxCRL = new BigInteger("10000"); 498adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Date date = new Date(200); 499adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 500adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.addIssuer(iss1); 501adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.addIssuer(iss2); 502adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.setMinCRLNumber(minCRL); 503adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.setMaxCRLNumber(maxCRL); 504adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project selector.setDateAndTime(date); 505adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 506adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNotNull("The result should not be null.", selector.toString()); 507adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 508adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 509adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 510adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * The abstract class stub implementation. 511adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 512adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project private class TestCRL extends X509CRL { 513adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 514adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project private X500Principal principal = null; 515adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 516adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project private BigInteger crlNumber = null; 517adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 518adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project private Date thisUpdate = null; 519adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 520adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project private Date nextUpdate = null; 521adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 522adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public TestCRL() { 523adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 524adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 525adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public TestCRL(X500Principal principal) { 526adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project this.principal = principal; 527adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 528adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 529adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public TestCRL(Date thisUpdate, Date nextUpdate) { 530adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project setUpdateDates(thisUpdate, nextUpdate); 531adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 532adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 533adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public TestCRL(BigInteger crlNumber) { 534adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project setCrlNumber(crlNumber); 535adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 536adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 537adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void setUpdateDates(Date thisUpdate, Date nextUpdate) { 538adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project this.thisUpdate = thisUpdate; 539adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project this.nextUpdate = nextUpdate; 540adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 541adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 542adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void setCrlNumber(BigInteger crlNumber) { 543adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project this.crlNumber = crlNumber; 544adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 545adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 546adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public X500Principal getIssuerX500Principal() { 547adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return principal; 548adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 549adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 550adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public String toString() { 551adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return null; 552adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 553adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 554adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public boolean isRevoked(Certificate cert) { 555adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return true; 556adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 557adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 558adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public Set<String> getNonCriticalExtensionOIDs() { 559adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return null; 560adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 561adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 562adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public Set<String> getCriticalExtensionOIDs() { 563adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return null; 564adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 565adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 566adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public byte[] getExtensionValue(String oid) { 567adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if ("2.5.29.20".equals(oid) && (crlNumber != null)) { 568adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return ASN1OctetString.getInstance().encode( 569adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ASN1Integer.getInstance().encode( 570adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project crlNumber.toByteArray())); 571adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 572adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return null; 573adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 574adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 575adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public boolean hasUnsupportedCriticalExtension() { 576adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return false; 577adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 578adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 579adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public byte[] getEncoded() { 580adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return null; 581adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 582adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 583adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @SuppressWarnings("unused") 584adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void verify(PublicKey key) throws CRLException, 585adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project NoSuchAlgorithmException, InvalidKeyException, 586adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project NoSuchProviderException, SignatureException { 587adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 588adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 589adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @SuppressWarnings("unused") 590adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void verify(PublicKey key, String sigProvider) 591adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project throws CRLException, NoSuchAlgorithmException, 592adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project InvalidKeyException, NoSuchProviderException, 593adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project SignatureException { 594adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 595adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 596adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public int getVersion() { 597adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return 2; 598adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 599adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 600adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public Principal getIssuerDN() { 601adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return null; 602adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 603adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 604adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public Date getThisUpdate() { 605adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return thisUpdate; 606adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 607adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 608adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public Date getNextUpdate() { 609adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return nextUpdate; 610adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 611adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 612adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public X509CRLEntry getRevokedCertificate(BigInteger serialNumber) { 613adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return null; 614adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 615adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 616adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public Set<X509CRLEntry> getRevokedCertificates() { 617adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return null; 618adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 619adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 620adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public byte[] getTBSCertList() { 621adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return null; 622adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 623adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 624adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public byte[] getSignature() { 625adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return null; 626adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 627adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 628adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public String getSigAlgName() { 629adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return null; 630adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 631adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 632adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public String getSigAlgOID() { 633adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return null; 634adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 635adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 636adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public byte[] getSigAlgParams() { 637adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return null; 638adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 639adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 640adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} 641