Class: Certmeister::Policy::Fcrdns

Inherits:
Object
  • Object
show all
Defined in:
lib/certmeister/policy/fcrdns.rb

Instance Method Summary collapse

Instance Method Details

#authenticate(request) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/certmeister/policy/fcrdns.rb', line 10

def authenticate(request)
  begin
    if not request[:cn]
      Certmeister::Policy::Response.new(false, "missing cn")
    elsif not request[:ip]
      Certmeister::Policy::Response.new(false, "missing ip")
    elsif not fcrdns_names(request[:ip]).include?(request[:cn])
      Certmeister::Policy::Response.new(false, "cn does not match fcrdns")
    else
      Certmeister::Policy::Response.new(true, nil)
    end
  rescue Resolv::ResolvError => e
    Certmeister::Policy::Response.new(false, "DNS error (#{e.message})")
  end
end