Package org.apache.harmony.security.asn1

Examples of org.apache.harmony.security.asn1.ASN1Choice


     * Tests decoding/encoding integers to/from byte array
     */
    public void testDecode_Encode() throws IOException {

        // oid decoder/encoder for testing
        ASN1Integer asn1 = ASN1Integer.getInstance();

        // decode from byte array
        for (int i = 0; i < validTestcase.length; i++) {
            DerInputStream in = new DerInputStream((byte[]) validTestcase[i][2]);
            assertTrue((validTestcase[i][0]).toString(), // message
                    Arrays.equals((byte[]) validTestcase[i][1], // expected
                            (byte[]) asn1.decode(in))); // returned
        }
       
        // decode from input stream
        for (int i = 0; i < validTestcase.length; i++) {
            DerInputStream in = new DerInputStream(new ByteArrayInputStream(
                    (byte[]) validTestcase[i][2]));
            assertTrue((validTestcase[i][0]).toString(), //message
                    Arrays.equals((byte[]) validTestcase[i][1], //expected
                            (byte[]) asn1.decode(in))); //returned
        }

        // encoding
        for (int i = 0; i < validTestcase.length; i++) {
            DerOutputStream out = new DerOutputStream(asn1, validTestcase[i][1]);
View Full Code Here


                    new byte[] { 0x06, 0x03, (byte) 0x81, 0x34, 0x03 } } };

    public void test_MappingToIntArray() throws IOException {

        // oid decoder/encoder for testing
        ASN1Oid asn1 = ASN1Oid.getInstance();

        // testing decoding
        for (int i = 0; i < oid.length; i++) {

            int[] decoded = (int[]) asn1.decode(new DerInputStream(
                    (byte[]) oid[i][2]));

            assertTrue("Failed to decode oid: " + oid[i][0], // error message
                    Arrays.equals((int[]) oid[i][1], // expected array
                            decoded));
View Full Code Here

    }

    public void test_MappingToString() throws IOException {

        // oid decoder/encoder for testing
        ASN1Oid asn1 = ASN1Oid.getInstanceForString();
       
        // testing decoding
        for (int i = 0; i < oid.length; i++) {
            assertEquals("Failed to decode oid: " + oid[i][0], // error message
                    oid[i][0], // expected string
                    asn1.decode(new DerInputStream((byte[]) oid[i][2])));
        }

        // testing encoding
        for (int i = 0; i < oid.length; i++) {
            assertTrue("Failed to encode oid: " + oid[i][0], // error message
View Full Code Here

                while (it.hasNext()) {
                    oa[id] = ASN1Oid.getInstanceForString();
                    val[id++] = (String) it.next();
                }
                return ASN1OctetString.getInstance().encode(
                    new ASN1Sequence(oa).encode(val));
            }
            if ("2.5.29.19".equals(oid)) {
                return ASN1OctetString.getInstance().encode(
                            new ASN1Sequence(
                                    new ASN1Type[] {
                                            ASN1Boolean.getInstance(),
                                            ASN1Integer.getInstance()
                                    }).encode(
                                           new Object[] {
View Full Code Here

        //

        defaultList = new ArrayList();
        defaultList.add(Boolean.FALSE);

        sequence = new ASN1Sequence(new ASN1Type[] { ASN1Boolean.getInstance(),
                sequenceOf }) {
            {
                setDefault(Boolean.TRUE, 0);
                setDefault(defaultList, 1);
            }
View Full Code Here

        }
    }

    public void testVerify() throws IOException {

        ASN1Sequence seqVerify = new ASN1Sequence(new ASN1Type[] {
                ASN1Boolean.getInstance(), sequenceOf }) {
            {
                setDefault(Boolean.TRUE, 0);
                setDefault(defaultList, 1);
            }

            protected Object getDecodedObject(BerInputStream in)
                    throws IOException {
                throw new IOException(
                        "Method getDecodedObject MUST not be invoked");
            }
        };

        for (int i = 0; i < testcases.length; i++) {
            DerInputStream in = new DerInputStream((byte[]) testcases[i][1]);
            in.setVerify();
            seqVerify.decode(in);
        }
    }
View Full Code Here

    public void testEncodeDefault() throws IOException {

        //
        // Boolean as default
        //
        ASN1Sequence s = new ASN1Sequence(new ASN1Type[] { ASN1Boolean
                .getInstance() }) {
            {
                setDefault(Boolean.TRUE, 0);
            }

            protected void getValues(Object object, Object[] values) {
                values = (Object[]) object;
            }
        };

        byte[] expectedArray = new byte[] { 0x30, 0x00 };

        byte[] encoded = s.encode(new Object[] { Boolean.TRUE });
        assertTrue("Encoded boolean:", Arrays.equals(expectedArray, encoded));

        //
        // Integer as default
        //
        s = new ASN1Sequence(new ASN1Type[] { ASN1Integer.getInstance() }) {
            {
                setDefault(new byte[] { 0x01 }, 0);
            }

            protected void getValues(Object object, Object[] values) {
                values = (Object[]) object;
            }
        };

        encoded = s.encode(new Object[] { new byte[] { 0x01 } });
        assertTrue("Encoded integer:", Arrays.equals(expectedArray, encoded));
    }
View Full Code Here

    public void testEncodeOptional() throws IOException {

        //
        // Test not optional
        //
        ASN1Sequence s = new ASN1Sequence(new ASN1Type[] { ASN1Boolean
                .getInstance() }) {

            protected void getValues(Object object, Object[] values) {
                values[0] = ((Object[]) object)[0];
            }
        };

        try {
            s.encode(new Object[] { null });
            fail("No expected RuntimeException");
        } catch (RuntimeException e) {
        }

        //
        // Test optional
        //
        s = new ASN1Sequence(new ASN1Type[] { ASN1Boolean.getInstance() }) {
            {
                setOptional(0);
            }

            protected void getValues(Object object, Object[] values) {
                values[0] = ((Object[]) object)[0];
            }
        };

        byte[] expectedArray = new byte[] { 0x30, 0x00 };

        byte[] encoded = s.encode(new Object[] { null });
        assertTrue("Encoded boolean:", Arrays.equals(expectedArray, encoded));
    }
View Full Code Here

                while (it.hasNext()) {
                    oa[id] = ASN1Oid.getInstanceForString();
                    val[id++] = (String) it.next();
                }
                return ASN1OctetString.getInstance().encode(
                    new ASN1Sequence(oa).encode(val));
            }
            if ("2.5.29.19".equals(oid)) {
                return ASN1OctetString.getInstance().encode(
                            new ASN1Sequence(
                                    new ASN1Type[] {
                                            ASN1Boolean.getInstance(),
                                            ASN1Integer.getInstance()
                                    }).encode(
                                           new Object[] {
View Full Code Here

        }
    }

    public void testVerify() throws IOException {

        ASN1SequenceOf seqVerify = new ASN1SequenceOf(ASN1Boolean.getInstance()) {

            public Object getDecodedObject(BerInputStream in)
                    throws IOException {
                throw new IOException(
                        "Method getDecodedObject MUST not be invoked");
            }
        };

        for (int i = 0; i < testcases.length; i++) {
            DerInputStream in = new DerInputStream((byte[]) testcases[i][1]);
            in.setVerify();
            seqVerify.decode(in);
        }
    }
View Full Code Here

TOP

Related Classes of org.apache.harmony.security.asn1.ASN1Choice

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.