Class X500PrincipalBuilder

java.lang.Object
org.wildfly.security.x500.X500PrincipalBuilder

public final class X500PrincipalBuilder extends Object
A builder for X.500 principals, defined in RFC 5280 as:
   Name ::= CHOICE { -- only one possibility for now --
     rdnSequence  RDNSequence }

   RDNSequence ::= SEQUENCE OF RelativeDistinguishedName

   RelativeDistinguishedName ::=
     SET SIZE (1..MAX) OF AttributeTypeAndValue

   AttributeTypeAndValue ::= SEQUENCE {
     type     AttributeType,
     value    AttributeValue }

   AttributeType ::= OBJECT IDENTIFIER

   AttributeValue ::= ANY -- DEFINED BY AttributeType

   DirectoryString ::= CHOICE {
         teletexString           TeletexString (SIZE (1..MAX)),
         printableString         PrintableString (SIZE (1..MAX)),
         universalString         UniversalString (SIZE (1..MAX)),
         utf8String              UTF8String (SIZE (1..MAX)),
         bmpString               BMPString (SIZE (1..MAX)) }
Author:
David M. Lloyd
  • Constructor Details

    • X500PrincipalBuilder

      public X500PrincipalBuilder()
      Construct a new instance.
  • Method Details

    • addItem

      public X500PrincipalBuilder addItem(X500AttributeTypeAndValue attributeTypeAndValue)
      Add a single item to the builder.
      Parameters:
      attributeTypeAndValue - the attribute-value pair (must not be null)
      Returns:
      this builder instance
    • addCompoundItem

      public X500PrincipalBuilder addCompoundItem(Collection<X500AttributeTypeAndValue> attributeTypeAndValues)
      Add a compound item to the builder.
      Parameters:
      attributeTypeAndValues - the collection of attribute-value pairs (must not be null)
      Returns:
      this builder instance
    • build

      public X500Principal build() throws IllegalArgumentException
      Build the principal. On return (with any outcome), this builder is re-set for building a new principal.
      Returns:
      the constructed principal (not null)
      Throws:
      IllegalArgumentException - if the principal is somehow invalid