Class: DhParams

Inherits:
Object
  • Object
show all
Includes:
FileReader
Defined in:
lib/resources/dh_params.rb

Instance Method Summary collapse

Methods included from FileReader

#read_file_content

Constructor Details

#initialize(filename) ⇒ DhParams

Returns a new instance of DhParams.



28
29
30
31
# File 'lib/resources/dh_params.rb', line 28

def initialize(filename)
  @dh_params_path = filename
  @dh_params = OpenSSL::PKey::DH.new read_file_content(@dh_params_path)
end

Instance Method Details

#dh_params?Boolean

it { should be_dh_params }

Returns:

  • (Boolean)


34
35
36
# File 'lib/resources/dh_params.rb', line 34

def dh_params?
  !@dh_params.nil?
end

#generatorObject

its(‘generator’) { should eq 2 }



39
40
41
42
# File 'lib/resources/dh_params.rb', line 39

def generator
  return if @dh_params.nil?
  @dh_params.g.to_i
end

#modulusObject

its(‘modulus’) { should eq ‘00:91:a0:15:89:e5:bc:38:93:12:02:fc:…’ }



45
46
47
48
# File 'lib/resources/dh_params.rb', line 45

def modulus
  return if @dh_params.nil?
  '00:' + @dh_params.p.to_s(16).downcase.scan(/.{2}/).join(':')
end

#pemObject

its(‘pem’) { should eq ‘—–BEGIN DH PARAMETERS…’ }



51
52
53
54
# File 'lib/resources/dh_params.rb', line 51

def pem
  return if @dh_params.nil?
  @dh_params.to_pem
end

#prime_lengthObject

its(‘prime_length’) { should be 2048 }



57
58
59
60
# File 'lib/resources/dh_params.rb', line 57

def prime_length
  return if @dh_params.nil?
  @dh_params.p.num_bits
end

#textObject

its(‘text’) { should eq ‘human-readable-text’ }



63
64
65
66
# File 'lib/resources/dh_params.rb', line 63

def text
  return if @dh_params.nil?
  @dh_params.to_text
end

#to_sObject



74
75
76
# File 'lib/resources/dh_params.rb', line 74

def to_s
  "dh_params #{@dh_params_path}"
end

#valid?Boolean

it { should be_valid }

Returns:

  • (Boolean)


69
70
71
72
# File 'lib/resources/dh_params.rb', line 69

def valid?
  return if @dh_params.nil?
  @dh_params.params_ok?
end