package org.bouncycastle.asn1.test; import java.io.IOException; import org.bouncycastle.asn1.DERBitString; import org.bouncycastle.asn1.DERT61String; import org.bouncycastle.asn1.DERUniversalString; import org.bouncycastle.util.test.SimpleTest; /** * X.690 test example */ public class StringTest extends SimpleTest { public String getName() { return "String"; } public void performTest() throws IOException { DERBitString bs = new DERBitString( new byte[] { (byte)0x01,(byte)0x23,(byte)0x45,(byte)0x67,(byte)0x89,(byte)0xab,(byte)0xcd,(byte)0xef }); if (!bs.getString().equals("#0309000123456789ABCDEF")) { fail("DERBitString.getString() result incorrect"); } if (!bs.toString().equals("#0309000123456789ABCDEF")) { fail("DERBitString.toString() result incorrect"); } bs = new DERBitString( new byte[] { (byte)0xfe,(byte)0xdc,(byte)0xba,(byte)0x98,(byte)0x76,(byte)0x54,(byte)0x32,(byte)0x10 }); if (!bs.getString().equals("#030900FEDCBA9876543210")) { fail("DERBitString.getString() result incorrect"); } if (!bs.toString().equals("#030900FEDCBA9876543210")) { fail("DERBitString.toString() result incorrect"); } DERUniversalString us = new DERUniversalString( new byte[] { (byte)0x01,(byte)0x23,(byte)0x45,(byte)0x67,(byte)0x89,(byte)0xab,(byte)0xcd,(byte)0xef }); if (!us.getString().equals("#1C080123456789ABCDEF")) { fail("DERUniversalString.getString() result incorrect"); } if (!us.toString().equals("#1C080123456789ABCDEF")) { fail("DERUniversalString.toString() result incorrect"); } us = new DERUniversalString( new byte[] { (byte)0xfe,(byte)0xdc,(byte)0xba,(byte)0x98,(byte)0x76,(byte)0x54,(byte)0x32,(byte)0x10 }); if (!us.getString().equals("#1C08FEDCBA9876543210")) { fail("DERUniversalString.getString() result incorrect"); } if (!us.toString().equals("#1C08FEDCBA9876543210")) { fail("DERUniversalString.toString() result incorrect"); } byte[] t61Bytes = new byte[] { -1, -2, -3, -4, -5, -6, -7, -8 }; String t61String = new String(t61Bytes, "iso-8859-1"); DERT61String t61 = new DERT61String(t61Bytes); if (!t61.getString().equals(t61String)) { fail("DERT61String.getString() result incorrect"); } if (!t61.toString().equals(t61String)) { fail("DERT61String.toString() result incorrect"); } } public static void main( String[] args) { runTest(new StringTest()); } }