org.xbill.DNS
Class NSEC3Record

java.lang.Object
  extended by org.xbill.DNS.Record
      extended by org.xbill.DNS.NSEC3Record
All Implemented Interfaces:
Serializable, Cloneable, Comparable

public class NSEC3Record
extends Record

Next SECure name 3 - this record contains the next hashed name in an ordered list of hashed names in the zone, and a set of types for which records exist for this name. The presence of this record in a response signifies a negative response from a DNSSEC-signed zone. This replaces the NSEC and NXT records, when used.

Author:
Brian Wellington, David Blacka
See Also:
Serialized Form

Nested Class Summary
static class NSEC3Record.Flags
           
 
Field Summary
static byte SHA1_DIGEST_ID
           
 
Fields inherited from class org.xbill.DNS.Record
dclass, name, ttl, type
 
Constructor Summary
NSEC3Record(Name name, int dclass, long ttl, int hashAlg, int flags, int iterations, byte[] salt, byte[] next, int[] types)
          Creates an NSEC3 record from the given data.
 
Method Summary
 int getFlags()
          Returns the flags
 int getHashAlgorithm()
          Returns the hash algorithm
 int getIterations()
          Returns the number of iterations
 byte[] getNext()
          Returns the next hash
 byte[] getSalt()
          Returns the salt
 int[] getTypes()
          Returns the set of types defined for this name
 byte[] hashName(Name name)
          Hashes a name with the parameters of this NSEC3 record.
 boolean hasType(int type)
          Returns whether a specific type is in the set of types.
 
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
 

Field Detail

SHA1_DIGEST_ID

public static final byte SHA1_DIGEST_ID
See Also:
Constant Field Values
Constructor Detail

NSEC3Record

public NSEC3Record(Name name,
                   int dclass,
                   long ttl,
                   int hashAlg,
                   int flags,
                   int iterations,
                   byte[] salt,
                   byte[] next,
                   int[] types)
Creates an NSEC3 record from the given data.

Parameters:
name - The ownername of the NSEC3 record (base32'd hash plus zonename).
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).
next - The next hash (may not be null).
types - The types present at the original ownername.
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


getNext

public byte[] getNext()
Returns the next hash


getTypes

public int[] getTypes()
Returns the set of types defined for this name


hasType

public boolean hasType(int type)
Returns whether a specific type is in the set of types.


hashName

public byte[] hashName(Name name)
                throws NoSuchAlgorithmException
Hashes a name with the parameters of this NSEC3 record.

Parameters:
name - The name to hash
Returns:
The hashed version of the name
Throws:
NoSuchAlgorithmException - The hash algorithm is unknown.