NSEC3PARAMRecord (dnsjava documentation)
Date: 2013-04-10

org.xbill.DNS

## Class NSEC3PARAMRecord

- java.lang.Object
- - org.xbill.DNS.Record
  - - org.xbill.DNS.NSEC3PARAMRecord

- All Implemented Interfaces:
    Serializable, Cloneable, Comparable

      public class NSEC3PARAMRecord
      extends Record

  Next SECure name 3 Parameters - this record contains the parameters (hash algorithm, salt, iterations) used for a valid, complete NSEC3 chain present in a zone. Zones signed using NSEC3 must include this record at the zone apex to inform authoritative servers that NSEC3 is being used with the given parameters.
  Author:
    Brian Wellington, David Blacka
  See Also:
    Serialized Form

- - ### Field Summary

    - ### Fields inherited from class org.xbill.DNS.Record

      `dclass, name, ttl, type`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `NSEC3PARAMRecord(Name name, int dclass, long ttl, int hashAlg, int flags, int iterations, byte[] salt)` Creates an NSEC3PARAM record from the given data.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getFlags()` Returns the flags
    `int` | `getHashAlgorithm()` Returns the hash algorithm
    `int` | `getIterations()` Returns the number of iterations
    `byte[]` | `getSalt()` Returns the salt
    `byte[]` | `hashName(Name name)` Hashes a name with the parameters of this NSEC3PARAM record.

    - ### Methods inherited from class org.xbill.DNS.Record

      `byteArrayFromString, byteArrayToString, compareTo, equals, fromString, fromString, fromWire, getAdditionalName, getDClass, getName, getRRsetType, getTTL, getType, hashCode, newRecord, newRecord, newRecord, newRecord, rdataToString, rdataToWireCanonical, sameRRset, toString, toWire, toWireCanonical, unknownToString, withName`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### NSEC3PARAMRecord

          public NSEC3PARAMRecord(Name name,
                          int dclass,
                          long ttl,
                          int hashAlg,
                          int flags,
                          int iterations,
                          byte[] salt)

      Creates an NSEC3PARAM record from the given data.
      Parameters:
        `name` - The ownername of the NSEC3PARAM record (generally the zone name).
        `dclass` - The class.
        `ttl` - The TTL.
        `hashAlg` - The hash algorithm.
        `flags` - The value of the flags field.
        `iterations` - The number of hash iterations.
        `salt` - The salt to use (may be null).

  - ### Method Detail

    - #### getHashAlgorithm

          public int getHashAlgorithm()

      Returns the hash algorithm

    - #### getFlags

          public int getFlags()

      Returns the flags

    - #### getIterations

          public int getIterations()

      Returns the number of iterations

    - #### getSalt

          public byte[] getSalt()

      Returns the salt

    - #### hashName

          public byte[] hashName(Name name)
                          throws NoSuchAlgorithmException

      Hashes a name with the parameters of this NSEC3PARAM record.
      Parameters:
        `name` - The name to hash
      Returns:
        The hashed version of the name
      Throws:
        `NoSuchAlgorithmException` - The hash algorithm is unknown.