/// <summary> /// Gets the input data. /// </summary> /// <param name="data">The input data.</param> /// <returns>input data</returns> private static byte[] GetInputData(DsInputData data) { byte[] ownerDataBytes = CanonicalFormatHelper.BuildUnpackedDomainInCanonicalForm(data.Domain); var test = ownerDataBytes.ToHexString(); byte[] dnsKeyRRDataBytes = GeRRData(data); return(ownerDataBytes.Concat(dnsKeyRRDataBytes).ToArray()); }
public static byte[] GetCanonicalFormatData(int ttl, DnsKeyRecord rec) { var rrdata = GetCanonicalRRData(rec); using (var ms = new MemoryStream()) { byte[] domainBytes = CanonicalFormatHelper.BuildUnpackedDomainInCanonicalForm(rec.Name); ms.Write(domainBytes, 0, domainBytes.Length); ms.Write(BitConverter.GetBytes((ushort)rec.RecordType).Reverse(), 0, 2); ms.Write(BitConverter.GetBytes((ushort)rec.RecordClass).Reverse(), 0, 2); ms.Write(BitConverter.GetBytes(ttl).Reverse(), 0, 4); ms.Write(BitConverter.GetBytes((ushort)rrdata.Length).Reverse(), 0, 2); ms.Write(rrdata, 0, rrdata.Length); return(ms.ToArray()); } }