public abstract class

X509NameEntryConverter

extends Object
java.lang.Object
   ↳ org.bouncycastle.asn1.x509.X509NameEntryConverter
Known Direct Subclasses

Class Overview

It turns out that the number of standard ways the fields in a DN should be encoded into their ASN.1 counterparts is rapidly approaching the number of machines on the internet. By default the X509Name class will produce UTF8Strings in line with the current recommendations (RFC 3280).

An example of an encoder look like below:

 public class X509DirEntryConverter
     extends X509NameEntryConverter
 {
     public DERObject getConvertedValue(
         DERObjectIdentifier  oid,
         String               value)
     {
         if (str.length() != 0 && str.charAt(0) == '#')
         {
             return convertHexEncoded(str, 1);
         }
         if (oid.equals(EmailAddress))
         {
             return new DERIA5String(str);
         }
         else if (canBePrintable(str))
         {
             return new DERPrintableString(str);
         }
         else if (canBeUTF8(str))
         {
             return new DERUTF8String(str);
         }
         else
         {
             return new DERBMPString(str);
         }
     }
 }

Summary

Public Constructors
X509NameEntryConverter()
Public Methods
abstract DERObject getConvertedValue(DERObjectIdentifier oid, String value)
Convert the passed in String value into the appropriate ASN.1 encoded object.
Protected Methods
boolean canBePrintable(String str)
return true if the passed in String can be represented without loss as a PrintableString, false otherwise.
DERObject convertHexEncoded(String str, int off)
Convert an inline encoded hex string rendition of an ASN.1 object back into its corresponding ASN.1 object.
[Expand]
Inherited Methods
From class java.lang.Object

Public Constructors

public X509NameEntryConverter ()

Public Methods

public abstract DERObject getConvertedValue (DERObjectIdentifier oid, String value)

Convert the passed in String value into the appropriate ASN.1 encoded object.

Parameters
oid the oid associated with the value in the DN.
value the value of the particular DN component.
Returns
  • the ASN.1 equivalent for the value.

Protected Methods

protected boolean canBePrintable (String str)

return true if the passed in String can be represented without loss as a PrintableString, false otherwise.

protected DERObject convertHexEncoded (String str, int off)

Convert an inline encoded hex string rendition of an ASN.1 object back into its corresponding ASN.1 object.

Parameters
str the hex encoded object
off the index at which the encoding starts
Returns
  • the decoded object
Throws
IOException