List of usage examples for org.bouncycastle.asn1 DERUTF8String getEncoded
public byte[] getEncoded() throws IOException
From source file:de.fichtelmax.asn1.ber.BERParserTest.java
License:Open Source License
@Test public void utf8String() throws IOException { String text = "something"; DERUTF8String utf8String = new DERUTF8String(text); BERObject berObject = cut.parse(utf8String.getEncoded()); assertThat(berObject.getValue(), is(equalTo(text.getBytes("UTF-8")))); }
From source file:de.fichtelmax.asn1.ber.types.BERSequenceTest.java
License:Open Source License
@Test public void create() throws IOException { DERUTF8String string1 = new DERUTF8String("some string"); DERUTF8String string2 = new DERUTF8String("some other string"); byte[] bcEncoded = new DERSequence(new ASN1Encodable[] { string1, string2 }).getEncoded(); cut = new BERSequence(new byte[] { bcEncoded[1] }, Arrays.copyOfRange(bcEncoded, 2, bcEncoded.length)); assertThat(cut.getEncoded(), is(equalTo(bcEncoded))); Iterator<BERObject> iterator = cut.iterator(); assertThat(iterator.next().getEncoded(), is(equalTo(string1.getEncoded()))); assertThat(iterator.next().getEncoded(), is(equalTo(string2.getEncoded()))); assertThat(iterator.hasNext(), is(false)); }
From source file:de.fichtelmax.asn1.ber.types.BERSetTest.java
License:Open Source License
@Test public void create() throws IOException { DERUTF8String string1 = new DERUTF8String("some string"); DERUTF8String string2 = new DERUTF8String("some other string"); byte[] bcEncoded = new DERSet(new ASN1Encodable[] { string1, string2 }).getEncoded(); cut = new BERSet(new byte[] { bcEncoded[1] }, Arrays.copyOfRange(bcEncoded, 2, bcEncoded.length)); assertThat(cut.getEncoded(), is(equalTo(bcEncoded))); Iterator<BERObject> iterator = cut.iterator(); assertThat(iterator.next().getEncoded(), is(equalTo(string1.getEncoded()))); assertThat(iterator.next().getEncoded(), is(equalTo(string2.getEncoded()))); assertThat(iterator.hasNext(), is(false)); }
From source file:de.fichtelmax.asn1.ber.types.UTF8StringTest.java
License:Open Source License
@Test public void create() throws IOException { String string = "Test string including strange chars "; DERUTF8String bcString = new DERUTF8String(string); byte[] bcEncoded = bcString.getEncoded(); byte[] bcValue = Arrays.copyOfRange(bcEncoded, 2, bcEncoded.length); cut = new UTF8String(new byte[] { bcEncoded[1] }, bcValue); assertThat(cut.getString(), is(equalTo(string))); }
From source file:org.cesecore.util.CertToolsTest.java
License:Open Source License
@Test public void test02StringToBCDNString() throws Exception { log.trace(">test02StringToBCDNString()"); // We try to examine the general case and som special cases, which we // want to be able to handle String dn1 = "C=SE, O=AnaTom, CN=foo"; assertEquals(CertTools.stringToBCDNString(dn1), "CN=foo,O=AnaTom,C=SE"); String dn2 = "C=SE, O=AnaTom, CN=cn"; assertEquals(CertTools.stringToBCDNString(dn2), "CN=cn,O=AnaTom,C=SE"); String dn3 = "CN=foo, O=PrimeKey, C=SE"; assertEquals(CertTools.stringToBCDNString(dn3), "CN=foo,O=PrimeKey,C=SE"); String dn4 = "cn=foo, o=PrimeKey, c=SE"; assertEquals(CertTools.stringToBCDNString(dn4), "CN=foo,O=PrimeKey,C=SE"); String dn5 = "cn=foo,o=PrimeKey,c=SE"; assertEquals(CertTools.stringToBCDNString(dn5), "CN=foo,O=PrimeKey,C=SE"); String dn6 = "C=SE, O=AnaTom, CN=CN"; assertEquals(CertTools.stringToBCDNString(dn6), "CN=CN,O=AnaTom,C=SE"); String dn7 = "C=CN, O=AnaTom, CN=foo"; assertEquals(CertTools.stringToBCDNString(dn7), "CN=foo,O=AnaTom,C=CN"); String dn8 = "C=cn, O=AnaTom, CN=foo"; assertEquals(CertTools.stringToBCDNString(dn8), "CN=foo,O=AnaTom,C=cn"); String dn9 = "CN=foo, O=PrimeKey, C=CN"; assertEquals(CertTools.stringToBCDNString(dn9), "CN=foo,O=PrimeKey,C=CN"); String dn10 = "CN=foo, O=PrimeKey, C=cn"; assertEquals(CertTools.stringToBCDNString(dn10), "CN=foo,O=PrimeKey,C=cn"); String dn11 = "CN=foo, O=CN, C=CN"; assertEquals(CertTools.stringToBCDNString(dn11), "CN=foo,O=CN,C=CN"); String dn12 = "O=PrimeKey,C=SE,CN=CN"; assertEquals(CertTools.stringToBCDNString(dn12), "CN=CN,O=PrimeKey,C=SE"); String dn13 = "O=PrimeKey,C=SE,CN=CN, OU=FooOU"; assertEquals(CertTools.stringToBCDNString(dn13), "CN=CN,OU=FooOU,O=PrimeKey,C=SE"); String dn14 = "O=PrimeKey,C=CN,CN=CN, OU=FooOU"; assertEquals(CertTools.stringToBCDNString(dn14), "CN=CN,OU=FooOU,O=PrimeKey,C=CN"); String dn15 = "O=PrimeKey,C=CN,CN=cn, OU=FooOU"; assertEquals(CertTools.stringToBCDNString(dn15), "CN=cn,OU=FooOU,O=PrimeKey,C=CN"); String dn16 = "CN=foo, CN=bar,O=CN, C=CN"; assertEquals(CertTools.stringToBCDNString(dn16), "CN=foo,CN=bar,O=CN,C=CN"); String dn17 = "CN=foo,CN=bar, O=CN, O=C, C=CN"; assertEquals(CertTools.stringToBCDNString(dn17), "CN=foo,CN=bar,O=CN,O=C,C=CN"); String dn18 = "cn=jean,cn=EJBCA,dc=home,dc=jean"; assertEquals(CertTools.stringToBCDNString(dn18), "CN=jean,CN=EJBCA,DC=home,DC=jean"); String dn19 = "cn=bar, cn=foo,o=oo, O=EJBCA,DC=DC2, dc=dc1, C=SE"; assertEquals(CertTools.stringToBCDNString(dn19), "CN=bar,CN=foo,O=oo,O=EJBCA,DC=DC2,DC=dc1,C=SE"); String dn20 = " CN=\"foo, OU=bar\", O=baz\\\\\\, quux,C=SE "; // BC always escapes with backslash, it doesn't use quotes. assertEquals("Conversion of: " + dn20, "CN=foo\\, OU\\=bar,O=baz\\\\\\, quux,C=SE", CertTools.stringToBCDNString(dn20)); String dn21 = "C=SE,O=Foo\\, Inc, OU=Foo\\, Dep, CN=Foo\\'"; String bcdn21 = CertTools.stringToBCDNString(dn21); assertEquals(bcdn21, "CN=Foo\',OU=Foo\\, Dep,O=Foo\\, Inc,C=SE"); // it is allowed to escape , assertEquals(StringTools.strip(bcdn21), "CN=Foo',OU=Foo\\, Dep,O=Foo\\, Inc,C=SE"); String dn22 = "C=SE,O=Foo\\, Inc, OU=Foo, Dep, CN=Foo'"; String bcdn22 = CertTools.stringToBCDNString(dn22); assertEquals(bcdn22, "CN=Foo',OU=Foo,O=Foo\\, Inc,C=SE"); assertEquals(StringTools.strip(bcdn22), "CN=Foo',OU=Foo,O=Foo\\, Inc,C=SE"); String dn23 = "C=SE,O=Foo, OU=FooOU, CN=Foo, DN=qualf"; String bcdn23 = CertTools.stringToBCDNString(dn23); assertEquals(bcdn23, "DN=qualf,CN=Foo,OU=FooOU,O=Foo,C=SE"); assertEquals(StringTools.strip(bcdn23), "DN=qualf,CN=Foo,OU=FooOU,O=Foo,C=SE"); String dn24 = "telephonenumber=08555-666,businesscategory=Surf boards,postaladdress=Stockholm,postalcode=11122,CN=foo,CN=bar, O=CN, O=C, C=CN"; assertEquals(CertTools.stringToBCDNString(dn24), "TelephoneNumber=08555-666,PostalAddress=Stockholm,BusinessCategory=Surf boards,PostalCode=11122,CN=foo,CN=bar,O=CN,O=C,C=CN"); // This isn't a legal SubjectDN. Since legacy BC did not support multivalues, we assume that the user meant \+. String dn25 = "CN=user+name, C=CN"; assertEquals("CN=user\\+name,C=CN", CertTools.stringToBCDNString(dn25)); String dn26 = "CN=user\\+name, C=CN"; assertEquals("CN=user\\+name,C=CN", CertTools.stringToBCDNString(dn26)); String dn27 = "CN=test123456, O=\\\"foo+b\\+ar\\, C=SE\\\""; assertEquals("CN=test123456,O=\\\"foo\\+b\\+ar\\, C\\=SE\\\"", CertTools.stringToBCDNString(dn27)); String dn27_1 = "CN=test123456, O=\\\"foo+b\\+ar\\, C=SE\\"; assertEquals("CN=test123456,O=\\\"foo\\+b\\+ar\\, C\\=SE\\\\", CertTools.stringToBCDNString(dn27_1)); String dn28 = "jurisdictionCountry=SE,jurisdictionState=Stockholm,SURNAME=Json,=fff,CN=oid,jurisdictionLocality=Solna,SN=12345,unstructuredname=foo.bar.com,unstructuredaddress=1.2.3.4,NAME=name,C=se"; assertEquals(//w w w . j a v a 2s. co m "JurisdictionCountry=SE,JurisdictionState=Stockholm,JurisdictionLocality=Solna,unstructuredAddress=1.2.3.4,unstructuredName=foo.bar.com,CN=oid,Name=name,SN=12345,SURNAME=Json,C=se", CertTools.stringToBCDNString(dn28)); String dn29 = "CN=hexencoded SN,SN=1234"; assertEquals("CN=hexencoded SN,SN=1234", CertTools.stringToBCDNString(dn29)); String dn30 = "CN=hexencoded SN,SN=\\#CNJB"; assertEquals("CN=hexencoded SN,SN=\\#CNJB", CertTools.stringToBCDNString(dn30)); DERUTF8String str = new DERUTF8String("foo"); String hex = new String(Hex.encode(str.getEncoded())); String dn31 = "CN=hexencoded SN,SN=#" + hex; assertEquals("CN=hexencoded SN,SN=foo", CertTools.stringToBCDNString(dn31)); }