Class PKCS9Attributes

java.lang.Object
org.mozilla.jss.netscape.security.pkcs.PKCS9Attributes

public class PKCS9Attributes extends Object
A set of attributes of class PKCS9Attribute.
Version:
1.2 97/12/10
  • Field Details

    • attributes

      private final Hashtable<ObjectIdentifier,PKCS9Attribute> attributes
      Attributes in this set indexed by OID.
    • permittedAttributes

      private final Hashtable<ObjectIdentifier,ObjectIdentifier> permittedAttributes
      The keys of this hashtable are the OIDs of permitted attributes.
    • derEncoding

      private final byte[] derEncoding
      The DER encoding of this attribute set. The tag byte must be DerValue.tag_SetOf.
  • Constructor Details

    • PKCS9Attributes

      public PKCS9Attributes(ObjectIdentifier[] permittedAttributes, DerInputStream in) throws IOException
      Construct a set of PKCS9 Attributes from its DER encoding on a DerInputStream, accepting only attributes with OIDs on the given list. If the array is null, accept all attributes supported by class PKCS9Attribute.
      Parameters:
      permittedAttributes - Array of attribute OIDs that will be accepted.
      in - the contents of the DER encoding of the attribute set.
      Throws:
      IOException - on i/o error, encoding syntax error, unacceptable or unsupported attribute, or duplicate attribute.
      See Also:
    • PKCS9Attributes

      public PKCS9Attributes(DerInputStream in) throws IOException
      Construct a set of PKCS9 Attributes from its contents of its DER encoding on a DerInputStream. Accept all attributes supported by class PKCS9Attribute.
      Throws:
      IOException - on i/o error, encoding syntax error, or unsupported or duplicate attribute.
      See Also:
    • PKCS9Attributes

      public PKCS9Attributes(PKCS9Attribute[] attribs) throws IllegalArgumentException, IOException
      Construct a set of PKCS9 Attributes from the given array of PCK9 attributes. DER encoding on a DerInputStream. All attributes in attribs must be supported by class PKCS9Attribute.
      Throws:
      IOException - on i/o error, encoding syntax error, or unsupported or duplicate attribute.
      IllegalArgumentException
      See Also:
  • Method Details

    • decode

      private byte[] decode(DerInputStream in) throws IOException
      Decode this set of PKCS9 attribute set from the contents of its DER encoding.
      Parameters:
      buf - the contents of the DER encoding of the attribute set.
      Throws:
      IOException - on i/o error, encoding syntax error, unacceptable or unsupported attribute, or duplicate attribute.
    • encode

      public void encode(byte tag, OutputStream out) throws IOException
      Put the DER encoding of this PKCS9 attribute set on an DerOutputStream, tagged with the given implicit tag.
      Parameters:
      tag - the implicit tag to use in the DER encoding.
      out - the output stream on which to put the DER encoding.
      Throws:
      IOException - on output error.
    • generateDerEncoding

      private byte[] generateDerEncoding() throws IOException
      Throws:
      IOException
    • getDerEncoding

      public byte[] getDerEncoding() throws IOException
      Return the DER encoding of this attribute set, tagged with DerValue.tag_SetOf.
      Throws:
      IOException
    • getAttribute

      public PKCS9Attribute getAttribute(ObjectIdentifier oid)
      Get an attribute from this set.
    • getAttribute

      public PKCS9Attribute getAttribute(String name)
      Get an attribute from this set.
    • getAttributes

      public PKCS9Attribute[] getAttributes()
      Get an array of all attributes in this set, in order of OID.
    • getAttributeValue

      public Object getAttributeValue(ObjectIdentifier oid) throws IOException
      Get an attribute value by OID.
      Throws:
      IOException
    • getAttributeValue

      public Object getAttributeValue(String name) throws IOException
      Get an attribute value by type name.
      Throws:
      IOException
    • toString

      public String toString()
      Returns the PKCS9 block in a printable string form.
      Overrides:
      toString in class Object
    • castToDerEncoder

      static DerEncoder[] castToDerEncoder(Object[] objs)
      Cast an object array whose components are DerEncoders to DerEncoder[].