Class EPPSecDNSExtDsData

java.lang.Object
com.verisign.epp.codec.secdnsext.v11.EPPSecDNSExtDsData
All Implemented Interfaces:
EPPCodecComponent, Serializable, Cloneable

public class EPPSecDNSExtDsData extends Object implements EPPCodecComponent
The EPPSecDNSExtDsData is the EPPCodecComponent that knows how to encode and decode secDNS dsData elements from/to XML and object instance.
See Also:
  • Field Details

    • UNSPEC_KEY_TAG

      public static final int UNSPEC_KEY_TAG
      Unspecified keyTag value
      See Also:
    • MIN_KEY_TAG

      public static final int MIN_KEY_TAG
      Minimum keyTag value
      See Also:
    • MAX_KEY_TAG

      public static final int MAX_KEY_TAG
      Maximum keyTag value
      See Also:
    • UNSPEC_ALG

      public static final int UNSPEC_ALG
      Unspecified alg value
      See Also:
    • MIN_ALG

      public static final int MIN_ALG
      Minimum alg value
      See Also:
    • MAX_ALG

      public static final int MAX_ALG
      Maximum alg value
      See Also:
    • UNSPEC_DIGEST_TYPE

      public static final int UNSPEC_DIGEST_TYPE
      Unspecified digestType value
      See Also:
    • MIN_DIGEST_TYPE

      public static final int MIN_DIGEST_TYPE
      Minimum digestType value
      See Also:
    • MAX_DIGEST_TYPE

      public static final int MAX_DIGEST_TYPE
      Maximum digestType value
      See Also:
    • SHA1_DIGEST_TYPE

      public static final int SHA1_DIGEST_TYPE
      http://www.ietf.org/rfc/rfc4034.txt
      A.2. DNSSEC Digest Types

      A "Digest Type" field in the DS resource record types identifies the cryptographic digest algorithm used by the resource record. The following table lists the currently defined digest algorithm types.
      DNSSEC Digest Types
      VALUE Algorithm STATUS
      0 Reserved -
      1 SHA-1 MANDATORY
      2 SHA-256 -
      3 SHA-512 -
      2-255 Unassigned -
      See Also:
    • SHA256_DIGEST_TYPE

      public static final int SHA256_DIGEST_TYPE
      SHA-256 Digest Type
      See Also:
    • GOST3411_DIGEST_TYPE

      public static final int GOST3411_DIGEST_TYPE
      GOST R 34.11-94
      See Also:
    • SHA384_DIGEST_TYPE

      public static final int SHA384_DIGEST_TYPE
      SHA-384 Digest Type
      See Also:
  • Constructor Details

    • EPPSecDNSExtDsData

      public EPPSecDNSExtDsData()
      Create a new empty instance of EPPSecDNSExtDsData
    • EPPSecDNSExtDsData

      public EPPSecDNSExtDsData(EPPSecDNSExtDsData dsData)
      Create a new instance (copy) of EPPSecDNSExtDsData
      Parameters:
      dsData - EPPSecDNSExtDsData instance
    • EPPSecDNSExtDsData

      public EPPSecDNSExtDsData(int keyTag, int alg, int digestType, String digest, EPPSecDNSExtKeyData keyData)
      Create a new instance of EPPSecDNSExtDsData with the given values. This constructor includes all secDNS:dsData elements.
      Parameters:
      keyTag - the keyTag value to use for this instance.
      alg - the algorithm value to use for this instance.
      digestType - the digestType value to use for this instance.
      digest - the digest value to use for this instance.
      keyData - the keyData value to use for this instance.
    • EPPSecDNSExtDsData

      public EPPSecDNSExtDsData(int keyTag, int alg, int digestType, String digest)
      Create a new instance of EPPSecDNSExtDsData with the given values. This constructor includes only the required secDNS:dsData elements.
      Parameters:
      keyTag - the keyTag value to use for this instance.
      alg - the algorithm value to use for this instance.
      digestType - the digestType value to use for this instance.
      digest - the digest value to use for this instance.
    • EPPSecDNSExtDsData

      public EPPSecDNSExtDsData(int keyTag)
      Create a new instance of EPPSecDNSExtDsData with the given values. This convenience constructor includes only the secDNS:keyTag element required for the secDNS:update/secDNS:rem extension.
      Parameters:
      keyTag - an int value representing the secDNS:keyTag to use for this instance.
    • EPPSecDNSExtDsData

      public EPPSecDNSExtDsData(Integer keyTag)
      Create a new instance of EPPSecDNSExtDsData with the given values. This convenience constructor includes only the secDNS:keyTag element required for the secDNS:update/secDNS:rem extension.
      Parameters:
      keyTag - an Integer instance representing the secDNS:keyTag to use for this instance.
  • Method Details

    • encode

      public Element encode(Document aDocument) throws EPPEncodeException
      Append all data from this secDNS:dsData to the given DOM Document
      Specified by:
      encode in interface EPPCodecComponent
      Parameters:
      aDocument - The DOM Document to append data to
      Returns:
      Encoded DOM Element
      Throws:
      EPPEncodeException - Thrown when errors occur during the encode attempt or if the instance is invalid.
    • decode

      public void decode(Element aElement) throws EPPDecodeException
      Populate the data of this instance with the data stored in the given Element of the DOM tree
      Specified by:
      decode in interface EPPCodecComponent
      Parameters:
      aElement - The root element of the fragment of XML
      Throws:
      EPPDecodeException - Thrown if any errors occur during decoding.
    • equals

      public boolean equals(Object aObject)
      implements a deep EPPSecDNSExtDsData compare.
      Overrides:
      equals in class Object
      Parameters:
      aObject - EPPSecDNSExtDsData instance to compare with
      Returns:
      true if equal false otherwise
    • clone

      public Object clone() throws CloneNotSupportedException
      Clone EPPSecDNSExtDsData.
      Specified by:
      clone in interface EPPCodecComponent
      Overrides:
      clone in class Object
      Returns:
      clone of EPPSecDNSExtDsData
      Throws:
      CloneNotSupportedException - standard Object.clone exception
    • getKeyTag

      public int getKeyTag()
      Get secDNS:keyTag value
      Returns:
      an int value representing secDNS:keyTag
      See Also:
      • UNSPEC_KEY_TAG
    • setKeyTag

      public void setKeyTag(int keyTag)
      Set secDNS:keyTag value
      Parameters:
      keyTag - an int value representing secDNS:keyTag
    • setKeyTag

      public void setKeyTag(Integer keyTag)
      Set secDNS:keyTag value
      Parameters:
      keyTag - an Integer instance representing secDNS:keyTag
    • getAlg

      public int getAlg()
      Get secDNS:alg value
      Returns:
      an int value representing secDNS:alg
      See Also:
      • UNSPEC_ALG
    • setAlg

      public void setAlg(int alg)
      Set secDNS:alg value
      Parameters:
      alg - an int value representing secDNS:alg
    • getDigestType

      public int getDigestType()
      Get secDNS:digestType value
      Returns:
      an int value representing secDNS:digestType
      See Also:
      • UNSPEC_DIGEST_TYPE
    • setDigestType

      public void setDigestType(int digestType)
      Set secDNS:digestType value
      Parameters:
      digestType - an int value representing secDNS:digestType
    • getDigest

      public String getDigest()
      Get secDNS:digest value
      Returns:
      the canonical representation of the hexBinary secDNS:digest
      See Also:
    • setDigest

      public void setDigest(String digest)
      Set secDNS:digest value This method will remove all whitespace and force UPPER case in an effort to produce the canonical representation for hexBinary as defined by http://www.w3.org/TR/xmlschema-2/#hexBinary
      Parameters:
      digest - an String value representing the hexBinary secDNS:digest
      See Also:
    • getKeyData

      public EPPSecDNSExtKeyData getKeyData()
      Get secDNS:keyData value
      Returns:
      an EPPSecDNSExtKeyData representing secDNS:keyData
    • setKeyData

      public void setKeyData(EPPSecDNSExtKeyData keyData)
      Set secDNS:keyData value
      Parameters:
      keyData - an EPPSecDNSExtKeyData value representing secDNS:keyData
    • hasKeyData

      public boolean hasKeyData()
      Does secDNS:dsData include optional secDNS:keyData?
      Returns:
      true if secDNS:keyData exists (non-null), otherwise false
    • toString

      public String toString()
      Implementation of Object.toString, which will result in an indented XML String representation of the concrete EPPCodecComponent.
      Overrides:
      toString in class Object
      Returns:
      Indented XML String if successful; ERROR otherwise.
    • getNamespace

      public String getNamespace()
      Returns the XML namespace associated with the EPPCodecComponent.
      Specified by:
      getNamespace in interface EPPCodecComponent
      Returns:
      XML namespace for the EPPCodecComponent.