class SvcbRrPatch::SvcParams::Ech::ECHConfigContents::HpkeKeyConfig::HpkeSymmetricCipherSuite

Attributes

aead_id[R]
kdf_id[R]

Public Class Methods

decode_vectors(octet) click to toggle source

@return [Array of HpkeSymmetricCipherSuite]

# File lib/svcb_rr_patch/svc_params/ech/echconfig_contents/hpke_key_config/hpke_symmetric_cipher_suite.rb, line 27
def self.decode_vectors(octet)
  i = 0
  cipher_suites = []
  while i < octet.length
    raise ::Resolv::DNS::DecodeError if i + 4 > octet.length

    kdf_id = HpkeKdfId.decode(octet.slice(i, 2))
    aead_id = HpkeAeadId.decode(octet.slice(i + 2, 2))
    i += 4
    cipher_suites << new(kdf_id, aead_id)
  end

  cipher_suites
end
new(kdf_id, aead_id) click to toggle source

@param kdf_id [HpkeKdfId] @param aead_id [HpkeAeadId]

# File lib/svcb_rr_patch/svc_params/ech/echconfig_contents/hpke_key_config/hpke_symmetric_cipher_suite.rb, line 16
def initialize(kdf_id, aead_id)
  @kdf_id = kdf_id
  @aead_id = aead_id
end

Public Instance Methods

encode() click to toggle source

@return [String]

# File lib/svcb_rr_patch/svc_params/ech/echconfig_contents/hpke_key_config/hpke_symmetric_cipher_suite.rb, line 22
def encode
  @kdf_id.encode + @aead_id.encode
end