⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 x509nametest.java

📁 J2ME加密算法的代码!里面包括常用的算法
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        // getValues test        //        Vector v1 = name1.getValues(X509Name.O);        if (v1.size() != 1 || !v1.elementAt(0).equals("The Legion of the Bouncy Castle"))        {            fail("O test failed");        }        Vector v2 = name1.getValues(X509Name.L);        if (v2.size() != 1 || !v2.elementAt(0).equals("Melbourne"))        {            fail("L test failed");        }        //        // general subjects test        //        for (int i = 0; i != subjects.length; i++)        {            X509Name    name = new X509Name(subjects[i]);            bOut = new ByteArrayOutputStream();            aOut = new ASN1OutputStream(bOut);            aOut.writeObject(name);            aIn = new ASN1InputStream(new ByteArrayInputStream(bOut.toByteArray()));            name = X509Name.getInstance(aIn.readObject());            if (!name.toString().equals(subjects[i]))            {                fail("failed regeneration test " + i);            }        }        //        // sort test        //        X509Name unsorted = new X509Name("SN=BBB + CN=AA");        if (!fromBytes(unsorted.getEncoded()).toString().equals("CN=AA+SN=BBB"))        {            fail("failed sort test 1");        }        unsorted = new X509Name("CN=AA + SN=BBB");        if (!fromBytes(unsorted.getEncoded()).toString().equals("CN=AA+SN=BBB"))        {            fail("failed sort test 2");        }        unsorted = new X509Name("SN=B + CN=AA");        if (!fromBytes(unsorted.getEncoded()).toString().equals("SN=B+CN=AA"))        {            fail("failed sort test 3");        }        unsorted = new X509Name("CN=AA + SN=B");        if (!fromBytes(unsorted.getEncoded()).toString().equals("SN=B+CN=AA"))        {            fail("failed sort test 4");        }        //        // equality tests        //        equalityTest(new X509Name("CN=The     Legion"), new X509Name("CN=The Legion"));        equalityTest(new X509Name("CN=   The Legion"), new X509Name("CN=The Legion"));        equalityTest(new X509Name("CN=The Legion   "), new X509Name("CN=The Legion"));        equalityTest(new X509Name("CN=  The     Legion "), new X509Name("CN=The Legion"));        equalityTest(new X509Name("CN=  the     legion "), new X509Name("CN=The Legion"));        //        // inequality to sequences        //        name1 = new X509Name("CN=The Legion");        if (name1.equals(new DERSequence()))        {            fail("inequality test with sequence");        }        if (name1.equals(new DERSequence(new DERSet())))        {            fail("inequality test with sequence and set");        }        ASN1EncodableVector v = new ASN1EncodableVector();        v.add(new DERObjectIdentifier("1.1"));        v.add(new DERObjectIdentifier("1.1"));        if (name1.equals(new DERSequence(new DERSet(new DERSet(v)))))        {            fail("inequality test with sequence and bad set");        }        if (name1.equals(new DERSequence(new DERSet(new DERSet(v))), true))        {            fail("inequality test with sequence and bad set");        }        if (name1.equals(new DERSequence(new DERSet(new DERSequence()))))        {            fail("inequality test with sequence and short sequence");        }        if (name1.equals(new DERSequence(new DERSet(new DERSequence())), true))        {            fail("inequality test with sequence and short sequence");        }        v = new ASN1EncodableVector();        v.add(new DERObjectIdentifier("1.1"));        v.add(new DERSequence());        if (name1.equals(new DERSequence(new DERSet(new DERSequence(v)))))        {            fail("inequality test with sequence and bad sequence");        }        if (name1.equals(null))        {            fail("inequality test with null");        }        if (name1.equals(null, true))        {            fail("inequality test with null");        }        //        // this is contrived but it checks sorting of sets with equal elements        //        unsorted = new X509Name("CN=AA + CN=AA + CN=AA");        //        // tagging test - only works if CHOICE implemented        //        /*        ASN1TaggedObject tag = new DERTaggedObject(false, 1, new X509Name("CN=AA"));        if (!tag.isExplicit())        {            fail("failed to explicitly tag CHOICE object");        }        X509Name name = X509Name.getInstance(tag, false);        if (!name.equals(new X509Name("CN=AA")))        {            fail("failed to recover tagged name");        }        */        DERUTF8String testString = new DERUTF8String("The Legion of the Bouncy Castle");        byte[] encodedBytes = testString.getEncoded();        byte[] hexEncodedBytes = Hex.encode(encodedBytes);        String hexEncodedString = "#" + new String(hexEncodedBytes);        DERUTF8String converted = (DERUTF8String)            new X509DefaultEntryConverter().getConvertedValue(                X509Name.L , hexEncodedString);        if (!converted.equals(testString))        {            fail("failed X509DefaultEntryConverter test");        }        //        // try a weird value        //    }    private boolean compareVectors(Vector a, Vector b)    // for compatibility with early JDKs    {        if (a.size() != b.size())        {            return false;        }        for (int i = 0; i != a.size(); i++)        {            if (!a.elementAt(i).equals(b.elementAt(i)))            {                return false;            }        }        return true;    }    private void compositeTest()        throws IOException    {        //        // composite test        //        byte[]  enc = Hex.decode("305e310b300906035504061302415531283026060355040a0c1f546865204c6567696f6e206f662074686520426f756e637920436173746c653125301006035504070c094d656c626f75726e653011060355040b0c0a4173636f742056616c65");        ASN1InputStream aIn = new ASN1InputStream(new ByteArrayInputStream(enc));        X509Name    n = X509Name.getInstance(aIn.readObject());        if (!n.toString().equals("C=AU,O=The Legion of the Bouncy Castle,L=Melbourne+OU=Ascot Vale"))        {            fail("Failed composite to string test got: " + n.toString());        }        if (!n.toString(true, X509Name.DefaultSymbols).equals("L=Melbourne+OU=Ascot Vale,O=The Legion of the Bouncy Castle,C=AU"))        {            fail("Failed composite to string test got: " + n.toString(true, X509Name.DefaultSymbols));        }        n = new X509Name(true, "L=Melbourne+OU=Ascot Vale,O=The Legion of the Bouncy Castle,C=AU");        if (!n.toString().equals("C=AU,O=The Legion of the Bouncy Castle,L=Melbourne+OU=Ascot Vale"))        {            fail("Failed composite to string reversal test got: " + n.toString());        }        n = new X509Name("C=AU, O=The Legion of the Bouncy Castle, L=Melbourne + OU=Ascot Vale");        ByteArrayOutputStream bOut = new ByteArrayOutputStream();        ASN1OutputStream aOut = new ASN1OutputStream(bOut);        aOut.writeObject(n);        byte[]  enc2 = bOut.toByteArray();        if (!Arrays.areEqual(enc, enc2))        {            fail("Failed composite string to encoding test");        }    }    private void equalityTest(X509Name x509Name, X509Name x509Name1)    {        if (!x509Name.equals(x509Name1))        {            fail("equality test failed for " + x509Name + " : " + x509Name1);        }        if (!x509Name.equals(x509Name1, true))        {            fail("equality test failed for " + x509Name + " : " + x509Name1);        }    }    public static void main(        String[]    args)    {        runTest(new X509NameTest());    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -