iaik.asn1.structures
Class GeneralName

java.lang.Object
  |
  +--iaik.asn1.structures.GeneralName

public class GeneralName
extends java.lang.Object

This class implements the ASN1. type "GeneralName". A GeneralName may be of one of the following types:

ASN.1 definition:

 GeneralName ::= CHOICE {
          otherName                       [0]     OtherName,
          rfc822Name                      [1]     IA5String,
          dNSName                         [2]     IA5String,
          x400Address                     [3]     ORAddress,
          directoryName                   [4]     Name,
          ediPartyName                    [5]     EDIPartyName,
          uniformResourceIdentifier       [6]     IA5String,
          iPAddress                       [7]     OCTET STRING,
          registeredID                    [8]     OBJECT IDENTIFIER}
 
OtherName ::= SEQUENCE { type-id OBJECT IDENTIFIER, value [0] EXPLICIT ANY DEFINED BY type-id }
EDIPartyName ::= SEQUENCE { nameAssigner [0] DirectoryString OPTIONAL, partyName [1] DirectoryString }
DirectoryString ::= CHOICE { teletexString TeletexString (SIZE (1..maxSize), printableString PrintableString (SIZE (1..maxSize)), universalString UniversalString (SIZE (1..maxSize)), bmpString BMPString (SIZE(1..maxSIZE)) }

When creating a GeneralName object, specify the intended type and the value to be set, e.g.:

 GeneralName generalName = new GeneralName(GeneralName.uniformResourceIdentifier, "http://www.iaik.tu-graz.ac.at/");
 

Note that the GeneralName types otherName, x400Address and ediPartyName are not supported by this implementation!

See Also:
IA5String, OCTET_STRING, ObjectID, Name, T61String, PrintableString, UNIString, BMPString

Field Summary
static int directoryName
          GeneralName type directoryName (4).
static int dNSName
          GeneralName type dNSrName (2).
static int ediPartyName
          GeneralName type ediPartyName (5).
static int iPAddress
          GeneralName type iPAddress (7).
static int otherName
          GeneralName type otherName (0).
static int registeredID
          GeneralName type registeredID (8).
static int rfc822Name
          GeneralName type rfc822Name (1).
static int uniformResourceIdentifier
          GeneralName type uniformResourceIdentifier (6).
static int x400Address
          GeneralName type x400Address (3).
 
Constructor Summary
GeneralName(ASN1Object generalName)
          Creates a GeneralName form an ASN1Object.
GeneralName(int type, java.lang.Object generalName)
          Creates a GeneralName for given type and value.
 
Method Summary
 java.lang.Object getName()
          Returns the value of this general name.
 int getType()
          Returns the type of this general name which may lie between 0 and 8.
 ASN1Object toASN1Object()
          Returns this GeneralName object as ASN1Object.
 java.lang.String toString()
          Returns a string that represents the contents of this general name.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

otherName

public static int otherName
GeneralName type otherName (0).

rfc822Name

public static int rfc822Name
GeneralName type rfc822Name (1).

dNSName

public static int dNSName
GeneralName type dNSrName (2).

x400Address

public static int x400Address
GeneralName type x400Address (3).

directoryName

public static int directoryName
GeneralName type directoryName (4).

ediPartyName

public static int ediPartyName
GeneralName type ediPartyName (5).

uniformResourceIdentifier

public static int uniformResourceIdentifier
GeneralName type uniformResourceIdentifier (6).

iPAddress

public static int iPAddress
GeneralName type iPAddress (7).

registeredID

public static int registeredID
GeneralName type registeredID (8).
Constructor Detail

GeneralName

public GeneralName(int type,
                   java.lang.Object generalName)
            throws java.lang.IllegalArgumentException
Creates a GeneralName for given type and value.
Parameters:
type - the type of the general name; a valid type must be used (0 ... 8)
generalName - the value for this type of general name
Throws:
java.lang.IllegalArgumentException - if the supplied type is not implemented, i.e. the int specificier is "out-of-range" (only 0...8 is allowed, wheras 0 (otherName), 3 (x400Address), and 5 (ediPartyName) also will throw an exception since not implemented yet)

GeneralName

public GeneralName(ASN1Object generalName)
            throws CodingException
Creates a GeneralName form an ASN1Object. The supplied ASN1Object represents an already existing GeneralName that may have been created by means of the toASN1Object method.
Parameters:
generalName - the general name as ASN1Object
Throws:
CodingException - if the ASN1Object is not a GeneralName or some parsing error occurs; or the supplied GeneralName type is not supported
Method Detail

toASN1Object

public ASN1Object toASN1Object()
                        throws CodingException
Returns this GeneralName object as ASN1Object.
Returns:
the value of GeneralName as ASN1Object
Throws:
CodingException - if the ASN1Object cannot be created for some reason, e.g. the type is not supported

getName

public java.lang.Object getName()
Returns the value of this general name.
Returns:
the value of this general name

getType

public int getType()
Returns the type of this general name which may lie between 0 and 8.
Returns:
the type of this general name

toString

public java.lang.String toString()
Returns a string that represents the contents of this general name.
Overrides:
toString in class java.lang.Object
Returns:
the string representation