2002/03/21 01:19:32
[org.ibex.core.git] / src / org / bouncycastle / asn1 / DERPrintableString.java
diff --git a/src/org/bouncycastle/asn1/DERPrintableString.java b/src/org/bouncycastle/asn1/DERPrintableString.java
new file mode 100644 (file)
index 0000000..7834edf
--- /dev/null
@@ -0,0 +1,62 @@
+package org.bouncycastle.asn1;
+
+import java.io.*;
+
+/**
+ * DER PrintableString object.
+ */
+public class DERPrintableString
+    extends DERObject
+    implements DERString
+{
+    String  string;
+
+    /**
+     * basic constructor - byte encoded string.
+     */
+    public DERPrintableString(
+        byte[]   string)
+    {
+        try
+        {
+            this.string = new String(string, "US-ASCII");
+        }
+        catch(UnsupportedEncodingException e)
+        {
+            throw new RuntimeException("PANIC: " + e);
+        }
+    }
+
+    /**
+     * basic constructor
+     */
+    public DERPrintableString(
+        String   string)
+    {
+        this.string = string;
+    }
+
+    public String getString()
+    {
+        return string;
+    }
+
+    public byte[] getOctets()
+    {
+        try
+        {
+            return string.getBytes("US-ASCII");
+        }
+        catch(UnsupportedEncodingException e)
+        {
+            throw new RuntimeException("PANIC: " + e);
+        }
+    }
+
+    void encode(
+        DEROutputStream  out)
+        throws IOException
+    {
+        out.writeEncoded(PRINTABLE_STRING, this.getOctets());
+    }
+}