1adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpackage tests.security.cert; 2adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 3adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport junit.framework.TestCase; 4adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 5adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport org.apache.harmony.security.tests.support.cert.MyCertificate; 6adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport org.apache.harmony.security.tests.support.cert.TestUtils; 7adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport org.apache.harmony.security.tests.support.cert.MyCertificate.MyCertificateRep; 8adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 9adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.io.ObjectStreamException; 10adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.security.cert.Certificate; 11adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.Arrays; 12adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 13adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpublic class CertificateCertificateRepTest extends TestCase { 14adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 15adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project private static final byte[] testEncoding = new byte[] { (byte) 1, (byte) 2, 16adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project (byte) 3, (byte) 4, (byte) 5 }; 17adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 18adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project protected void setUp() throws Exception { 19adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project super.setUp(); 20adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 21adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 22adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project protected void tearDown() throws Exception { 23adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project super.tearDown(); 24adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 25adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 26adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 27adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Test for 28adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <code>Certificate.CertificateRep(String type, byte[] data)</code> 29adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * method<br> 30adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 31adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public final void testCertificateCertificateRep() { 32adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project MyCertificate c1 = new MyCertificate("TEST_TYPE", testEncoding); 33adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project MyCertificateRep rep = c1.new MyCertificateRep("TEST_TYPE", new byte[] { 34adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project (byte) 1, (byte) 2, (byte) 3 }); 35adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 36adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue(Arrays.equals(new byte[] { (byte) 1, (byte) 2, (byte) 3 }, 37adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project rep.getData())); 38adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("TEST_TYPE", rep.getType()); 39adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 40adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 41adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project c1.new MyCertificateRep(null, null); 42adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 43adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Unexpected exeption " + e.getMessage()); 44adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 45adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 46adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 47adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project MyCertificate.MyCertificateRep rep1 = c1.new MyCertificateRep( 48adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "X509", TestUtils.getX509Certificate_v3()); 49adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("X509", rep1.getType()); 50adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue(Arrays.equals(TestUtils.getX509Certificate_v3(), rep1.getData())); 51adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 52adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Unexpected exeption " + e.getMessage()); 53adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 54adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 55adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 56adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 57adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Test for <code>readResolve()</code> method<br> 58adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 59adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public final void testReadResolve() { 60adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project MyCertificate c1 = new MyCertificate("TEST_TYPE", testEncoding); 61adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project MyCertificateRep rep = c1.new MyCertificateRep("TEST_TYPE", new byte[] { 62adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project (byte) 1, (byte) 2, (byte) 3 }); 63adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 64adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 65adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project rep.readResolve(); 66adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("ObjectStreamException expected"); 67adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ObjectStreamException e) { 68adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // expected 69adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 70adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 71adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project MyCertificateRep rep1 = c1.new MyCertificateRep("X509", TestUtils 72adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .getX509Certificate_v3()); 73adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 74adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Certificate obj = (Certificate) rep1.readResolve(); 75adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("0.3.5", obj.getPublicKey().getAlgorithm()); 76adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("X.509", obj.getPublicKey().getFormat()); 77adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("X.509", obj.getType()); 78adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ObjectStreamException e) { 79adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Unexpected ObjectStreamException " + e.getMessage()); 80adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 81adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 82adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} 83