Show / Hide Table of Contents

Class DNSKEYRecord

Public key cryptography to sign and authenticate resource records.

Inheritance
Object
DnsObject
ResourceRecord
DNSKEYRecord
Implements
IWireSerialiser
ICloneable
IPresentationSerialiser
Inherited Members
ResourceRecord.DefaultTTL
ResourceRecord.DefaultHostTTL
ResourceRecord.Name
ResourceRecord.CanonicalName
ResourceRecord.Type
ResourceRecord.Class
ResourceRecord.TTL
ResourceRecord.IsExpired(Nullable<DateTime>)
ResourceRecord.GetDataLength()
ResourceRecord.GetData()
ResourceRecord.Read(WireReader)
ResourceRecord.Write(WireWriter)
ResourceRecord.Equals(Object)
ResourceRecord.GetHashCode()
ResourceRecord.ToString()
ResourceRecord.Write(PresentationWriter)
ResourceRecord.Read(String)
ResourceRecord.Read(PresentationReader)
DnsObject.CreationTime
DnsObject.Length()
DnsObject.Clone()
DnsObject.Clone<T>()
DnsObject.Read(Byte[])
DnsObject.Read(Byte[], Int32, Int32)
DnsObject.Read(Stream)
DnsObject.ToByteArray()
DnsObject.Write(Stream)
Object.Equals(Object, Object)
Object.ReferenceEquals(Object, Object)
Object.GetType()
Object.MemberwiseClone()
Namespace: Makaretu.Dns
Assembly: Makaretu.Dns.dll
Syntax
public class DNSKEYRecord : ResourceRecord, IWireSerialiser, ICloneable, IPresentationSerialiser

Constructors

| Improve this Doc View Source

DNSKEYRecord()

Creates a new instance of the DNSKEYRecord class.

Declaration
public DNSKEYRecord()
| Improve this Doc View Source

DNSKEYRecord(ECDsa)

Creates a new instance of the DNSKEYRecord class from the specified ECDSA key.

Declaration
public DNSKEYRecord(ECDsa key)
Parameters
Type Name Description
ECDsa key

A public or private ECDSA key.

Remarks
note

ECDSA key support is NOT available for NETSTANDARD14 nor NET45. It is available for NETSTANDARD2, NET472 or greater.

Exceptions
Type Condition
ArgumentException

key is not named nistP256 nor nist384.

CryptographicException

key is not valid.

| Improve this Doc View Source

DNSKEYRecord(RSA, SecurityAlgorithm)

Creates a new instance of the DNSKEYRecord class from the specified RSA key.

Declaration
public DNSKEYRecord(RSA key, SecurityAlgorithm algorithm)
Parameters
Type Name Description
RSA key

A public or private RSA key.

SecurityAlgorithm algorithm

The security algorithm to use. Only RSA types are allowed.

Properties

| Improve this Doc View Source

Algorithm

Identifies the public key's cryptographic algorithm.

Declaration
public SecurityAlgorithm Algorithm { get; set; }
Property Value
Type Description
SecurityAlgorithm

Identifies the type of key (RSA, ECDSA, ...) and the hashing algorithm.

Remarks

Determines the format of thePublicKey.

| Improve this Doc View Source

Flags

Identifies the intended usage of the key.

Declaration
public DNSKEYFlags Flags { get; set; }
Property Value
Type Description
DNSKEYFlags
| Improve this Doc View Source

Protocol

Must be three.

Declaration
public byte Protocol { get; set; }
Property Value
Type Description
Byte

Defaults to 3.

| Improve this Doc View Source

PublicKey

The public key material.

Declaration
public byte[] PublicKey { get; set; }
Property Value
Type Description
Byte[]

The format depends on the key Algorithm.

Methods

| Improve this Doc View Source

KeyTag()

Calculates the key tag.

Declaration
public ushort KeyTag()
Returns
Type Description
UInt16

A non-unique identifier for the public key.

Remarks

https://tools.ietf.org/html/rfc4034#appendix-B for the details.

| Improve this Doc View Source

ReadData(PresentationReader)

Read the textual representation of the data that is specific to the resource record Type.

Declaration
public override void ReadData(PresentationReader reader)
Parameters
Type Name Description
PresentationReader reader

The source of the resource record's data.

Overrides
ResourceRecord.ReadData(PresentationReader)
Remarks

Derived classes must implement this method.

| Improve this Doc View Source

ReadData(WireReader, Int32)

Read the data that is specific to the resource record Type.

Declaration
public override void ReadData(WireReader reader, int length)
Parameters
Type Name Description
WireReader reader

The source of the resource record's data.

Int32 length

The length, in bytes, of the data.

Overrides
ResourceRecord.ReadData(WireReader, Int32)
Remarks

Derived classes must implement this method.

| Improve this Doc View Source

WriteData(PresentationWriter)

Write the textual representation of the data that is specific to the resource record.

Declaration
public override void WriteData(PresentationWriter writer)
Parameters
Type Name Description
PresentationWriter writer

The destination for the resource record's data.

Overrides
ResourceRecord.WriteData(PresentationWriter)
Remarks

Derived classes should implement this method.

By default, this will write the hex encoding of the GetData() preceeded by "#" and the number integer bytes.

| Improve this Doc View Source

WriteData(WireWriter)

Write the data that is specific to the resource record Type.

Declaration
public override void WriteData(WireWriter writer)
Parameters
Type Name Description
WireWriter writer

The destination for the DNS object's data.

Overrides
ResourceRecord.WriteData(WireWriter)
Remarks

Derived classes must implement this method.

Implements

IWireSerialiser
System.ICloneable
IPresentationSerialiser
  • Improve this Doc
  • View Source
Back to top Generated by DocFX