DERT61String.java
上传用户:lior1029
上传日期:2013-05-07
资源大小:209k
文件大小:2k
源码类别:

CA认证

开发平台:

Java

  1. package org.bouncycastle.asn1;
  2. import java.io.*;
  3. /**
  4.  * DER T61String (also the teletex string)
  5.  */
  6. public class DERT61String
  7.     extends DERObject
  8.     implements DERString
  9. {
  10.     String  string;
  11.     /**
  12.      * return a T61 string from the passed in object.
  13.      *
  14.      * @exception IllegalArgumentException if the object cannot be converted.
  15.      */
  16.     public static DERT61String getInstance(
  17.         Object  obj)
  18.     {
  19.         if (obj == null || obj instanceof DERT61String)
  20.         {
  21.             return (DERT61String)obj;
  22.         }
  23.         if (obj instanceof ASN1OctetString)
  24.         {
  25.             return new DERT61String(((ASN1OctetString)obj).getOctets());
  26.         }
  27.         if (obj instanceof ASN1TaggedObject)
  28.         {
  29.             return getInstance(((ASN1TaggedObject)obj).getObject());
  30.         }
  31.         throw new IllegalArgumentException("illegal object in getInstance: " + obj.getClass().getName());
  32.     }
  33.     /**
  34.      * return an T61 String from a tagged object.
  35.      *
  36.      * @param obj the tagged object holding the object we want
  37.      * @param explicit true if the object is meant to be explicitly
  38.      *              tagged false otherwise.
  39.      * @exception IllegalArgumentException if the tagged object cannot
  40.      *               be converted.
  41.      */
  42.     public static DERT61String getInstance(
  43.         ASN1TaggedObject obj,
  44.         boolean          explicit)
  45.     {
  46.         return getInstance(obj.getObject());
  47.     }
  48.     /**
  49.      * basic constructor - with bytes.
  50.      */
  51.     public DERT61String(
  52.         byte[]   string)
  53.     {
  54.         this.string = new String(string);
  55.     }
  56.     /**
  57.      * basic constructor - with string.
  58.      */
  59.     public DERT61String(
  60.         String   string)
  61.     {
  62.         this.string = string;
  63.     }
  64.     public String getString()
  65.     {
  66.         return string;
  67.     }
  68.     void encode(
  69.         DEROutputStream  out)
  70.         throws IOException
  71.     {
  72.         out.writeEncoded(T61_STRING, string.getBytes());
  73.     }
  74.     public boolean equals(
  75.         Object  o)
  76.     {
  77.         if ((o == null) || !(o instanceof DERT61String))
  78.         {
  79.             return false;
  80.         }
  81.         return this.getString().equals(((DERT61String)o).getString());
  82.     }
  83. }