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
38
# 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)


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

def dh_params?
  !@dh_params.nil?
end

#generatorObject

its(‘generator’) { should eq 2 }



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

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



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

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



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

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

#prime_lengthObject

its(‘prime_length’) { should be 2048 }



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

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

#textObject

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



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

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

#to_sObject



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

def to_s
  "dh_params #{@dh_params_path}"
end

#valid?Boolean

it { should be_valid }

Returns:

  • (Boolean)


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

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