Class: DhParams

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

Instance Method Summary collapse

Constructor Details

#initialize(filename) ⇒ DhParams

Returns a new instance of DhParams.



26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/resources/dh_params.rb', line 26

def initialize(filename)
  @dh_params_path = filename
  file = inspec.file(@dh_params_path)
  return skip_resource "Unable to find DH parameters file #{@dh_params_path}" unless file.exist?

  begin
    @dh_params = OpenSSL::PKey::DH.new file.content
  rescue
    @dh_params = nil
    return skip_resource "Unable to load DH parameters #{@dh_params_path}"
  end
end

Instance Method Details

#dh_params?Boolean

it { should be_dh_params }

Returns:

  • (Boolean)


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

def dh_params?
  !@dh_params.nil?
end

#generatorObject

its(‘generator’) { should eq 2 }



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

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:…’ }



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

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…’ }



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

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

#prime_lengthObject

its(‘prime_length’) { should be 2048 }



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

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

#textObject

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



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

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

#to_sObject



80
81
82
# File 'lib/resources/dh_params.rb', line 80

def to_s
  "dh_params #{@dh_params_path}"
end

#valid?Boolean

it { should be_valid }

Returns:

  • (Boolean)


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

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