Package org.xbill.DNS

Class DNSKEYRecord

java.lang.Object
org.xbill.DNS.Record
org.xbill.DNS.DNSKEYRecord
All Implemented Interfaces:
Serializable, Cloneable, Comparable<Record>
Direct Known Subclasses:
CDNSKEYRecord

public class DNSKEYRecord extends Record
Key - contains a cryptographic public key for use by DNS. The data can be converted to objects implementing java.security.interfaces.PublicKey
Author:
Brian Wellington
See Also:
  • Field Details

    • flags

      protected int flags
    • proto

      protected int proto
    • alg

      protected int alg
    • key

      protected byte[] key
    • footprint

      protected int footprint
    • publicKey

      protected PublicKey publicKey
  • Constructor Details

    • DNSKEYRecord

      protected DNSKEYRecord(Name name, int type, int dclass, long ttl, int flags, int proto, int alg, byte[] key)
      Creates a DNSKEY Record from the given data
      Parameters:
      flags - Flags describing the key's properties
      proto - The protocol that the key was created for
      alg - The key's algorithm
      key - Binary representation of the key
    • DNSKEYRecord

      public DNSKEYRecord(Name name, int dclass, long ttl, int flags, int proto, int alg, byte[] key)
      Creates a DNSKEY Record from the given data
      Parameters:
      flags - Flags describing the key's properties
      proto - The protocol that the key was created for
      alg - The key's algorithm
      key - Binary representation of the key
    • DNSKEYRecord

      public DNSKEYRecord(Name name, int dclass, long ttl, int flags, int proto, int alg, PublicKey key) throws DNSSEC.DNSSECException
      Creates a DNSKEY Record from the given data
      Parameters:
      flags - Flags describing the key's properties
      proto - The protocol that the key was created for
      alg - The key's algorithm
      key - The key as a PublicKey
      Throws:
      DNSSEC.DNSSECException - The PublicKey could not be converted into DNS format.
  • Method Details

    • rdataFromString

      protected void rdataFromString(Tokenizer st, Name origin) throws IOException
      Description copied from class: Record
      Converts the text format of an RR to the internal format - must be overriden
      Specified by:
      rdataFromString in class Record
      Throws:
      IOException
    • rrFromWire

      protected void rrFromWire(DNSInput in) throws IOException
      Description copied from class: Record
      Converts the type-specific RR to wire format - must be overridden
      Specified by:
      rrFromWire in class Record
      Throws:
      IOException
    • rrToString

      protected String rrToString()
      Converts the DNSKEY/KEY Record to a String
      Specified by:
      rrToString in class Record
    • getFlags

      public int getFlags()
      Returns the flags describing the key's properties
    • getProtocol

      public int getProtocol()
      Returns the protocol that the key was created for
    • getAlgorithm

      public int getAlgorithm()
      Returns the key's algorithm
    • getKey

      public byte[] getKey()
      Returns the binary data representing the key
    • getFootprint

      public int getFootprint()
      Returns the key's footprint (after computing it)
    • getPublicKey

      public PublicKey getPublicKey() throws DNSSEC.DNSSECException
      Returns a PublicKey corresponding to the data in this key.
      Throws:
      DNSSEC.DNSSECException - The key could not be converted.
    • rrToWire

      protected void rrToWire(DNSOutput out, Compression c, boolean canonical)
      Description copied from class: Record
      Converts the type-specific RR to wire format - must be overridden.
      Specified by:
      rrToWire in class Record