CertificateCertificateRepTest.java revision f33eae7e84eb6d3b0f4e86b59605bb3de73009f3
131dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Projectpackage tests.security.cert; 231dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project 331dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Projectimport dalvik.annotation.TestLevel; 431dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Projectimport dalvik.annotation.TestTargetClass; 531dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Projectimport dalvik.annotation.TestTargetNew; 631dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project 731dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Projectimport junit.framework.TestCase; 831dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project 931dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Projectimport org.apache.harmony.security.tests.support.cert.MyCertificate; 1031dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Projectimport org.apache.harmony.security.tests.support.cert.TestUtils; 1131dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Projectimport org.apache.harmony.security.tests.support.cert.MyCertificate.MyCertificateRep; 1231dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project 1331dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Projectimport java.io.ObjectStreamException; 1431dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Projectimport java.security.cert.Certificate; 1531dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Projectimport java.util.Arrays; 1631dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project 17325dc23624160689e59fbac708cf6f222b20d025Daniel Sandler@TestTargetClass(java.security.cert.Certificate.class) 1831dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Projectpublic class CertificateCertificateRepTest extends TestCase { 190280c3be4d9f8fc6fdf015b7ecd276eb26f76f2dMichael Jurka 20a5f4e488dff461fbbc61400a8d284d9886164f76Adam Cohen private static final byte[] testEncoding = new byte[] { (byte) 1, (byte) 2, 21f358a4bbd6ce5b6ddadfae19e6b9c6872530d627Adam Cohen (byte) 3, (byte) 4, (byte) 5 }; 22b1254a6bdb11024042fb6c27e179210c1bbd6e1cChet Haase 2322cba7f9958569a5e4c1dfcce4969daeaa6c898cAdam Cohen protected void setUp() throws Exception { 240280c3be4d9f8fc6fdf015b7ecd276eb26f76f2dMichael Jurka super.setUp(); 25ad4e15cae4b628677fc249628a9ff661e67add78Adam Cohen } 26cd68ff5b88de9b5136ff5a9ef698e4db2fc5db66Patrick Dubroy 27cd68ff5b88de9b5136ff5a9ef698e4db2fc5db66Patrick Dubroy protected void tearDown() throws Exception { 28cd68ff5b88de9b5136ff5a9ef698e4db2fc5db66Patrick Dubroy super.tearDown(); 298f573952b8729b4319043ae0908997ecd2d68951Dianne Hackborn } 30bed61d22bdbfcdbe04f92675c7751b83c7a8947cMichael Jurka 31629de3ef739883c0962423cc0c3a26299f162d3dRomain Guy /** 32495f2892288504f4ab87e62957b3f71144dd73c2Adam Powell * Test for 3331dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project * <code>Certificate.CertificateRep(String type, byte[] data)</code> 34adc574ccb1986856b38198ad5a934b7543a1debbMichael Jurka * method<br> 357247f6315baf16eacb3286f21bd80321385c1defPatrick Dubroy */ 3631dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project @TestTargetNew( 374be866d3a1665aa2098cb5d38d535b1ad1aab6d6Joe Onorato level = TestLevel.COMPLETE, 3831dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project notes = "", 39a63c452f5bd491ba9b28c332ccedc6c6c7e2f3ccMichael Jurka method = "Certificate.CertificateRep.CertificateRep", 40b8c69f3c17a40adc2d85e8e996f754c383c293dcWinson Chung args = { String.class, byte[].class} 41043f2af567178b82b0b41f12d379e7dd12da2936Winson Chung ) 4231dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project public final void testCertificateCertificateRep() { 434be866d3a1665aa2098cb5d38d535b1ad1aab6d6Joe Onorato MyCertificate c1 = new MyCertificate("TEST_TYPE", testEncoding); 44f96811cdf564469a7a654a0c876288c9fd14f35eThe Android Open Source Project MyCertificateRep rep = c1.new MyCertificateRep("TEST_TYPE", new byte[] { 454caf298a2c9d861d69f5a47b747ada911b125b6dAdam Cohen (byte) 1, (byte) 2, (byte) 3 }); 46956091ba7863bd72086275e61084864994dd6fa7Joe Onorato 47495f2892288504f4ab87e62957b3f71144dd73c2Adam Powell assertTrue(Arrays.equals(new byte[] { (byte) 1, (byte) 2, (byte) 3 }, 4853805218809cc1f93a0f1307b442df7c65a3068cAdam Cohen rep.getData())); 4931dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project assertEquals("TEST_TYPE", rep.getType()); 50291ad12232c98e383d44d76ffe09e97e204c61bcDaniel Sandler 511462de39f01cec0ba785386532719cb0207dd827Adam Cohen try { 52cc07e7a9c6e383f35a8de717be71201f666b01a8Michael Jurka c1.new MyCertificateRep(null, null); 53a34abf8c781485b788fddacb352d586bffca886cWinson Chung } catch (Exception e) { 5431dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project fail("Unexpected exeption " + e.getMessage()); 5531dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project } 566e3140865d3f0def2e55934d8b0b2c1503386e54Winson Chung 5753805218809cc1f93a0f1307b442df7c65a3068cAdam Cohen try { 58cd68ff5b88de9b5136ff5a9ef698e4db2fc5db66Patrick Dubroy MyCertificate.MyCertificateRep rep1 = c1.new MyCertificateRep( 59cc07e7a9c6e383f35a8de717be71201f666b01a8Michael Jurka "X509", TestUtils.getX509Certificate_v3()); 60f96811cdf564469a7a654a0c876288c9fd14f35eThe Android Open Source Project assertEquals("X509", rep1.getType()); 6131dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project assertTrue(Arrays.equals(TestUtils.getX509Certificate_v3(), rep1.getData())); 62325dc23624160689e59fbac708cf6f222b20d025Daniel Sandler } catch (Exception e) { 63bffe745b1e195deedc1dcc60f37950b3b0b4c652Adam Cohen fail("Unexpected exeption " + e.getMessage()); 64325dc23624160689e59fbac708cf6f222b20d025Daniel Sandler } 65edcce099c98a6c40d10109ac092ab50f9d2668f3Romain Guy } 66716b51e030f9c6ed34af2b947760e46a280c65a6Adam Cohen 67dcd297f05a866e07090d6e2af8fb4b15f28cb555Adam Cohen /** 68716b51e030f9c6ed34af2b947760e46a280c65a6Adam Cohen * Test for <code>readResolve()</code> method<br> 698bd65f5c57b8bae2fb82256e89ac30ddc0769319Michael Jurka */ 70716b51e030f9c6ed34af2b947760e46a280c65a6Adam Cohen @TestTargetNew( 7131dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project level = TestLevel.COMPLETE, 720142d49e1378a7155bcca1fb59965d9e73016dbcMichael Jurka notes = "", 730142d49e1378a7155bcca1fb59965d9e73016dbcMichael Jurka method = "Certificate.CertificateRep.readResolve", 74aafa03cbb925c74be1c13f8bb99d928be429e62fWinson Chung args = {} 7531dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project ) 760142d49e1378a7155bcca1fb59965d9e73016dbcMichael Jurka public final void testReadResolve() { 77d74c984fcc61f86160476a2543faff715e3ee2fdMichael Jurka MyCertificate c1 = new MyCertificate("TEST_TYPE", testEncoding); 7877e1f47520958edd7ec04e203db65b932537bd1cJohn Spurlock MyCertificateRep rep = c1.new MyCertificateRep("TEST_TYPE", new byte[] { 7977e1f47520958edd7ec04e203db65b932537bd1cJohn Spurlock (byte) 1, (byte) 2, (byte) 3 }); 803a8820bdbad90642cf5cda4b00a8c92ecb699159Joe Onorato 810142d49e1378a7155bcca1fb59965d9e73016dbcMichael Jurka try { 82f34bab59fc0260f926aec44d044883dce1b4191fAdam Cohen rep.readResolve(); 83b5ba097015c4794fa822f30b38a60a7070a00097Adam Cohen fail("ObjectStreamException expected"); 84a985e598f6071f4caca15ba3cb6b2cd3e38b217dAdam Cohen } catch (ObjectStreamException e) { 8568d739365bf650fe7fecf99cd3bfe63a0d41bd12Adam Cohen // expected 8668d739365bf650fe7fecf99cd3bfe63a0d41bd12Adam Cohen } 879171e6d8a2b7b5aa136617b9779a8bbadc5259f7Winson Chung 88f34bab59fc0260f926aec44d044883dce1b4191fAdam Cohen MyCertificateRep rep1 = c1.new MyCertificateRep("X509", TestUtils 89ad4e15cae4b628677fc249628a9ff661e67add78Adam Cohen .getX509Certificate_v3()); 90ad4e15cae4b628677fc249628a9ff661e67add78Adam Cohen try { 91ad4e15cae4b628677fc249628a9ff661e67add78Adam Cohen Certificate obj = (Certificate) rep1.readResolve(); 92f135c6c364e92cddb84c1b4a94ed535214b712a6Winson Chung assertEquals("0.3.5", obj.getPublicKey().getAlgorithm()); 93ed51cc9a12c50d12e7d30ed209a49f1a40858043Adam Cohen assertEquals("X.509", obj.getPublicKey().getFormat()); 94265b9a66542148e0ff13971001cb9461065e1e0eAdam Cohen assertEquals("X.509", obj.getType()); 95ed51cc9a12c50d12e7d30ed209a49f1a40858043Adam Cohen } catch (ObjectStreamException e) { 96f358a4bbd6ce5b6ddadfae19e6b9c6872530d627Adam Cohen fail("Unexpected ObjectStreamException " + e.getMessage()); 97f358a4bbd6ce5b6ddadfae19e6b9c6872530d627Adam Cohen } 989171e6d8a2b7b5aa136617b9779a8bbadc5259f7Winson Chung } 999171e6d8a2b7b5aa136617b9779a8bbadc5259f7Winson Chung} 1009171e6d8a2b7b5aa136617b9779a8bbadc5259f7Winson Chung