Class: KonoEppClient::DnsSec::DsData

Inherits:
REXML::Element
  • Object
show all
Defined in:
lib/kono_epp_client/dns_sec/ds_data.rb

Constant Summary collapse

ALG =
{
  :dsa_sha_1 => 3,
  :rsa_sha_1 => 5,
  :dsa_nsec_3_sha_1 => 6,
  :rsasha_1_nsec_3_sha_1 => 7,
  :rsa_sha_256 => 8,
  :rsa_sha_512 => 10,
  :ecc_gost => 12,
  :ecdsap_256_sha_256 => 13,
  :ecdsap_384_sha_384 => 14
}.freeze
DIGEST_TYPES =
{
  :sha_1 => 1,
  :sha_256 => 2,
  :gost_r_34_11_94 => 3,
  :sha_384 => 4
}.freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(key_tag, alg, digest_type, digest) ⇒ DsData

Inizializzazione di un DsData

Parameters:

  • key_tag (Integer)

    0<=X<=65535

  • alg (Symbol)

    :dsa_sha_1 => 3 (DSA/SHA-1) :rsa_sha_1 => 5 (RSA/SHA-1) :dsa_nsec_3_sha_1 => 6 (DSA-NSEC3-SHA1) :rsasha_1_nsec_3_sha_1 => 7 (RSASHA1-NSEC3-SHA1) :rsa_sha_256 => 8 (RSA/SHA-256) :rsa_sha_512 => 10 (RSA/SHA-512) :ecc_gost => 12 (ECC-GOST) :ecdsap_256_sha_256 => 13 (ECDSAP256SHA256) :ecdsap_384_sha_384 => 14 (ECDSAP384SHA384)

  • digest_type (Symbol)

    :sha_1 => 1 (SHA-1) :sha_256 => 2 (SHA-256) :gost_r_34_11_94 => 3 (GOST R 34.11-94) :sha_384 => 4 (SHA-384)

  • digest (String)


45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/kono_epp_client/dns_sec/ds_data.rb', line 45

def initialize(key_tag, alg, digest_type, digest)
  key_tag = key_tag.to_i
  @alg = ALG[alg] || raise("Invalid alg #{alg}")
  @digest = digest
  if (0..65535).include?(key_tag)
    @key_tag = key_tag
  else
    raise "Invalid key tag #{key_tag}, should be 0<=key_tag<=65535"
  end
  @digest_type = DIGEST_TYPES[digest_type] || raise("Invalid digest type #{digest_type}")

  super("secDNS:dsData")
  self.add_element("secDNS:keyTag").text = @key_tag
  self.add_element("secDNS:alg").text = @alg
  self.add_element("secDNS:digestType").text = @digest_type
  self.add_element("secDNS:digest").text = @digest

end

Instance Attribute Details

#algObject

Returns the value of attribute alg.



5
6
7
# File 'lib/kono_epp_client/dns_sec/ds_data.rb', line 5

def alg
  @alg
end

#digestObject

Returns the value of attribute digest.



5
6
7
# File 'lib/kono_epp_client/dns_sec/ds_data.rb', line 5

def digest
  @digest
end

#digest_typeObject

Returns the value of attribute digest_type.



5
6
7
# File 'lib/kono_epp_client/dns_sec/ds_data.rb', line 5

def digest_type
  @digest_type
end

#key_tagObject

Returns the value of attribute key_tag.



5
6
7
# File 'lib/kono_epp_client/dns_sec/ds_data.rb', line 5

def key_tag
  @key_tag
end