Skip to content

JDWX DNSQuery RR CERT

JDW edited this page Jul 17, 2022 · 1 revision

JDWX\DNSQuery\RR\CERT

CERT Resource Record - RFC4398 section 2

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | format | key tag | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | algorithm | / +---------------+ certificate or CRL / / / +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|

Constants

CERT_FORMAT_RES

const CERT_FORMAT_RES = 0

CERT_FORMAT_PKIX

const CERT_FORMAT_PKIX = 1

CERT_FORMAT_SPKI

const CERT_FORMAT_SPKI = 2

CERT_FORMAT_PGP

const CERT_FORMAT_PGP = 3

CERT_FORMAT_IPKIX

const CERT_FORMAT_IPKIX = 4

CERT_FORMAT_ISPKI

const CERT_FORMAT_ISPKI = 5

CERT_FORMAT_IPGP

const CERT_FORMAT_IPGP = 6

CERT_FORMAT_ACPKIX

const CERT_FORMAT_ACPKIX = 7

CERT_FORMAT_IACPKIX

const CERT_FORMAT_IACPKIX = 8

CERT_FORMAT_URI

const CERT_FORMAT_URI = 253

CERT_FORMAT_OID

const CERT_FORMAT_OID = 254

Properties

certFormatNameToId

public  certFormatNameToId = []
  • Visibility: public

certFormatIdToName

public  certFormatIdToName = [self::CERT_FORMAT_RES => 'Reserved', self::CERT_FORMAT_PKIX => 'PKIX', self::CERT_FORMAT_SPKI => 'SPKI', self::CERT_FORMAT_PGP => 'PGP', self::CERT_FORMAT_IPKIX => 'IPKIX', self::CERT_FORMAT_ISPKI => 'ISPKI', self::CERT_FORMAT_IPGP => 'IPGP', self::CERT_FORMAT_ACPKIX => 'ACPKIX', self::CERT_FORMAT_IACPKIX => 'IACPKIX', self::CERT_FORMAT_URI => 'URI', self::CERT_FORMAT_OID => 'OID']
  • Visibility: public

format

public  format
  • Visibility: public

keytag

public  keytag
  • Visibility: public

algorithm

public  algorithm
  • Visibility: public

certificate

public  certificate
  • Visibility: public

name

public  name
  • Visibility: public

type

public  type
  • Visibility: public

class

public  class
  • Visibility: public

ttl

public  ttl
  • Visibility: public

rdLength

public  rdLength
  • Visibility: public

rdata

public  rdata = ''
  • Visibility: public

Methods

__construct

mixed JDWX\DNSQuery\RR\RR::__construct(?\JDWX\DNSQuery\Packet\Packet i_packet, ?array i_rr)

Constructor - builds a new RR object

Arguments

  • i_packet ?\JDWX\DNSQuery\Packet\Packet - a Packet or null to create an empty object
  • i_rr ?array - an array with RR parse values or null to create an empty object

rrFromString

bool JDWX\DNSQuery\RR\RR::rrFromString(string[] i_rData)

Parse the rdata portion from a standard DNS config line

Arguments

  • i_rData string[] - a string split line of values for the rdata

rrGet

?string JDWX\DNSQuery\RR\RR::rrGet(\JDWX\DNSQuery\Packet\Packet i_packet)

Returns the rdata portion of the RR, advancing the referenced packet offset by the correct size.

Arguments

rrSet

bool JDWX\DNSQuery\RR\RR::rrSet(\JDWX\DNSQuery\Packet\Packet i_packet)

Parse the rdata from the current position of the provided Packet object, advancing the packet's internal offset accordingly.

Arguments

rrToString

string JDWX\DNSQuery\RR\RR::rrToString()

Return the rdata portion of the packet as a string.

This is not the same as the __toString() magic method, which returns the whole RR.

fromString

static JDWX\DNSQuery\RR\RR::fromString(string line)

parses a standard RR format lines, as defined by rfc1035 (kinda)

In our implementation, the domain must be specified- format must be

   <name> [<ttl>] [<class>] <type> <rdata>

or [] []

name, title, class and type are parsed by this function, rdata is passed to the RR specific classes for parsing.

Arguments

  • line string - a standard DNS config line

parse

?\JDWX\DNSQuery\RR\RR JDWX\DNSQuery\RR\RR::parse(\JDWX\DNSQuery\Packet\Packet packet)

parses a binary packet, and returns the appropriate RR object, based on the RR type of the binary content.

Arguments

__toString

string JDWX\DNSQuery\RR\RR::__toString()

magic __toString() method to return the RR object as a string

asArray

array JDWX\DNSQuery\RR\RR::asArray()

return the same data as __toString(), but as an array, so each value can be used without having to parse the string.

cleanString

string JDWX\DNSQuery\RR\RR::cleanString(string i_data)

cleans up some RR data

Arguments

  • i_data string - the text string to clean

get

string JDWX\DNSQuery\RR\RR::get(\JDWX\DNSQuery\Packet\Packet i_packet)

returns a binary packed DNS RR object

Arguments

getPHPRData

array JDWX\DNSQuery\RR\RR::getPHPRData()

Get the rdata in the format used by PHP's dns_get_record() function.

getPHPRecord

array JDWX\DNSQuery\RR\RR::getPHPRecord()

Get the whole record in the format used by PHP's dns_get_record() function.

See the caveats in getPHPRData() about RR-specific data.

set

bool JDWX\DNSQuery\RR\RR::set(\JDWX\DNSQuery\Packet\Packet i_packet, array i_rr)

builds a new RR object

Arguments

  • i_packet JDWX\DNSQuery\Packet\Packet - (output) a Packet or null to create an empty object
  • i_rr array - an array with RR parse values or null to create an empty object

buildString

string[] JDWX\DNSQuery\RR\RR::buildString(string[] i_chunks)

Build an array of strings from an array of chunks of text split by spaces.

Arguments

  • i_chunks string[] - an array of chunks of text split by spaces

formatString

string JDWX\DNSQuery\RR\RR::formatString(string i_str)

return a formatted string; if a string has spaces in it, then return it with double quotes around it, otherwise, return it as it was passed in.

Arguments

  • i_str string - the string to format

rrGetEx

string JDWX\DNSQuery\RR\RR::rrGetEx(\JDWX\DNSQuery\Packet\Packet i_packet)

returns a binary packet DNS RR object and throws an exception if it fails

Arguments

Clone this wiki locally